记录一些Mac OS X技巧
用了几个月Mac OS X,发现很多东西不记录下来就会找不到,于是就有了这篇日志。
- 重启Finder
有些设置更改以后需要重启Finder才能生效,最简单的方法就是按住option,再右键点击Finder,选择“重新开启”。
此外还可在终端运行如下代码:
killall Finder
- 更改文件关联方式
右键选择显示简介,在“打开方式”一栏中选择想要使用的程序,然后点击“全部更改…”按钮。 - 禁用虚拟内存
Mac OS X有个很奇葩的设定,它把内存分为了可用内存、联动内存、活跃内存和非活跃内存,详情可以看《通过活动监视器了解系统内存使用情况》。
其中,当你退出一个软件时,它所占用的部分内存并不会释放,而是标记为非活跃,下次运行它时可以转换成活跃内存。但如果你不幸把可用内存用完了,Mac OS X并不会使用这些非活跃内存,而是直接使用虚拟内存(交换文件),这会严重影响运行效率。
如下命令可以查看当前虚拟内存的大小:
sysctl vm.swapusage
sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist
sudo rm /private/var/vm/swapfile*
sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist
purge
- 编辑plist配置文件
用户的配置文件都存储在~/Library/Preferences/,双击即可打开编辑。
此外还可在终端运行如下代码来编辑:
defaults write 域名 键名 键值 defaults delete 域名 defaults delete 域名 键名
- 显示隐藏文件
在终端运行如下代码:
defaults write com.apple.finder AppleShowAllFiles -bool true killall Finder
defaults write com.apple.finder AppleShowAllFiles -bool false killall Finder
- 修改终端的提示文字
环境变量PS1就是终端的提示文字格式,默认为“\h:\W \u\$”,可以用echo来查看:
echo $PS1
部分可使用的格式有(完整的可以运行man bash,然后查看PROMPTING部分):- \d – 现在的系统日期
- \t – 现在的系统时间
- \h – 主机名
- \# – 命令号(Comannd Number)
- \u – 用户名
- \W – 当前所在的路径
- \w – 当前所在的完整路径
PS1="\#: "
PS1="[\u@\h \W]\$ "
echo 'PS1="[\u@\h \W]\$ "' >> ~/.bash_profile
- 快速定位到文件夹
Finder没有地址栏,不能直接输入路径来打开文件夹,不过可以右键点Finder图标,选择“前往文件夹⋯”。 - 在打开文件对话框中打开路径
显示打开文件对话框后,按command-shift-g快捷键或者/键就会出现“前往文件夹”对话框。 - 重命名文件
在Finder中选中文件,然后回车,或者等1秒后再单击文件。(对隐藏文件无效) - 查看多个文件的总大小
在Finder中选中多个文件,按住control再点右键,选择“获得摘要信息”。或者直接点右键,然后按control或option,选择“获得摘要信息”或“显示检查器”。 - 删除.DS_Store文件
只要用Finder打开文件夹,就会自动生成这些文件,无法禁止这行为,但可以使用这行代码删除(sudo是为了删除一些没权限访问的文件):
sudo find / -name ".DS_Store" -delete
- 管理Dashboard里的widgets
按F4或fn-F12调出Dashboard,点左下角的+号,就可以添加和删除widgets了。 - 将Dashboard里的widget放在桌面。
先在终端输入如下代码:
defaults write com.apple.dashboard devmode YES killall Dock
放回Dashboard则按住widget,然后按F4打开Dashboard,松开鼠标即可。 - 开启FTP共享(10.7以后已取消该功能)
在“系统偏好设置”里找到“共享”,勾选“文件共享”,然后点击“选项”按钮,勾选“使用FTP来共享文件和文件夹”,再勾选允许访问的用户即可。
访问时使用本机的ip,端口为22,用户名和密码为该用户的Mac OS X的登录密码。 - 关闭鼠标加速度
Mac OS X的鼠标加速度很诡异,缓慢移动鼠标时几乎很难移动。
下载Mouse Acceleration Preference Pane这个配置文件,安装后把Mouse加速度改成负值(如-6)就能关闭加速度。 - 增强触摸板
默认的触摸板设置并不好用,比如单击鼠标必须把触摸板按下去,在“系统偏好设置”里找到“触摸板”,然后就能改成“轻拍来点按”。其他的功能可以看演示视频。
此外,建议使用BetterTouchTool(免费下载,Mac App Store里收费)和Jitouch(收费)来增强功能。这2个软件各自有些独有的功能,所以最好都安装,只不过设置的时候比较头痛。
需要注意的是,使用这2个软件需要在“系统偏好设置”里找到“万能辅助”,然后勾选“启用辅助设备的控制”。 - 控制风扇转速
MacBook Pro的风扇控制有些问题,最高转速有6000RPM,噪音非常大。可以下载smcFanControl这款软件来手动控制风扇转速(平时建议设为3000RPM)。 - 查看温度
安装iStat Pro,然后调出Dashboard,就能看到CPU、硬盘等的温度,此外还能显示内存、CPU等运行状态。 - 最大化窗口
按住shift键再点+号,只对部分程序有效。此外可用Jitouch等增强软件来实现。 - 调节音量
按住shift,再按音量调节键,就不会发出声音。
按住shift-option,再按音量调节键,就可以以1/4格的大小进行调节。
降低音量到无声后,再按静音键,就会调节到最低音量。 - 修改Xcode模板文件
这些文件都存储在/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Project Templates/Application路径下,详情可参考创建Xcode的工程模板和代码模板。
模板文件里会使用___FULLUSERNAME___这种变量来引用设置的值,这些值可通过修改com.apple.Xcode的PBXCustomTemplateMacroDefinitions字段来设定,例如:
defaults write com.apple.Xcode PBXCustomTemplateMacroDefinitions '{"FULLUSERNAME" = "keakon"; "ORGANIZATIONNAME" = "keakon.net";}'
defaults write com.apple.Xcode AppleICUDateFormatStrings '{1="yyyy-MM-dd";}'
- Dock的相关操作
将鼠标指针放在分隔线上面,直到箭头出现,然后上下拖动可以改变Dock大小。
按住control键并点按分隔线,可以打开Dock快捷键菜单。
按下control-fn-F3可以移动到Dock,然后可以使用左右方向键在图标之间移动,按下return可以打开一个图标。 - 按键图标(如果看不到部分图标,可能是字体缺失,Mac OS X下无问题)
⇧ Shift
↩ Return
⇞ PageUp
⇟ PageDown
⌃ Control
⌤ Enter
⌘ Command
⌥ Option(Alt)
⌫ Delete
⎋ Esc
⏏ Eject - 快捷键
可参考官方文档,这里只列出一些常用的。
fn-F1~F12:F1~F12的原始功能
fn-delete:向后删除
fn-上/下:PageUp/PageDown
fn-左/右:滚动到文档顶部/底部
control-左/右:定位到行首/行尾(Xcode中为定位到上一个/下一个单词)
option-左/右:定位到上一个/下一个词(以标点符号和空格分隔)
control-a/e:定位到行首/行尾
option-上/下:定位到行首/行尾(如果已经到行首/行尾,则跳到上一行的行首或下一行的行尾)
command-左/右:定位到行首/行尾
command-上/下:定位到文档的开头/结尾
command-上:Finder中打开上级文件夹
command-delete:删除文件、删除光标位置到行首的内容
option-delete:删除光标位置前的一个单词
fn-option-delete:删除光标位置后的一个单词
shift-command-3:将屏幕捕捉到文件(保存到桌面)
shift-control-command-3:将屏幕捕捉到剪贴板
shift-command-4:将所选内容捕捉到文件(保存到桌面)(若按空格,可以选择捕捉的窗口)
shift-control-command-4:将所选内容捕捉到剪贴板(若按空格,可以选择捕捉的窗口)
command-m:最小化窗口
option-command-m:最小化当前程序的所有窗口
command-h:隐藏窗口
command-w:关闭窗口
command-q:退出程序
option-command-esc:强制退出程序
option-command-w:关闭当前程序的所有窗口
option-command-d:隐藏/显示Dock
command-.:弹出自动完成菜单 - 在Mission Control里查看原始大小的窗口
Mission Control会显示所有窗口的缩略图,要查看原始大小的窗口,可以将鼠标悬停在该窗口上,等它高亮后按空格即可,再按空格或点击鼠标可恢复。 - 进入深度睡眠状态
合上Mac笔记本电脑的屏幕时,Mac OS X会自动进入睡眠状态。此时内存等设备仍然在供电,如果打开屏幕,瞬间就能唤醒。如果长时间不用的话,就会进入深度睡眠状态。系统会将内存中的内容写入磁盘,并停止内存的供电;再次唤醒时,需要从磁盘读取到内存才能继续使用。后者虽然会让唤醒过程变慢,但更加省电。
如果想直接进入深度睡眠状态的话,可以在终端运行如下代码,然后合上屏幕:
sudo pmset -a hibernatemode 25
想恢复默认的睡眠策略的话,可以重新设置hibernatemode:台式机的默认值是0,笔记本电脑是3。
如果是使用SSD的,为节省硬盘空间,可以设为0,并删除休眠文件:
sudo rm /var/vm/sleepimage
- 启用SSD的TRIM支持:
SSD提供了TRIM功能,可以提升写入速度并延长使用寿命。但如果不是苹果自带的SSD,默认是没有启用该功能的,只能手动启用:
# 备份文件 sudo cp /System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/IOAHCIBlockStorage.kext/Contents/MacOS/IOAHCIBlockStorage /IOAHCIBlockStorage.original # 修改文件 sudo perl -pi -e 's|(\x52\x6F\x74\x61\x74\x69\x6F\x6E\x61\x6C\x00).{9}(\x00\x51)|$1\x00\x00\x00\x00\x00\x00\x00\x00\x00$2|sg' /System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/IOAHCIBlockStorage.kext/Contents/MacOS/IOAHCIBlockStorage # 更新缓存 sudo kextcache -system-prelinked-kernel sudo kextcache -system-caches
若嫌麻烦的话,也可以用Trim Enabler。
上一篇:mac Xcode如何修改Organization Name(缺省公司名称/开发人员名称)?
下一篇:Building an MFC project for a non-Unicode character set is deprecated