San Domingo's Blog

Courage, Duty, Honor!

给MacBook Pro换SSD

| Comments

最近越来越感觉到HDD拖慢了自己工作的效率,尤其是从深度睡眠状态恢复时,更是慢到令人无法忍受,思来想去,也是时候体验一下SSD的速度了,那么就动手吧。

准备工作

SSD一块,PH00(十字)、T6(六角)号螺丝刀、OS X安装盘(这里使用移动硬盘制作了一个bootable的安装器来替代)。

制作一个Bootable OS X installer(这里制作的是Mavericks的installer):

  1. 去App Store下载OS X,下载完后不要点安装,可以再/Applications/目录下找到Install OS X Mavericks.app。

  2. 准备一个有8GB或者以上容量的U盘,或者移动硬盘(我是给移动硬盘创建了一个8GB的分区),插USB,假设挂载在了/Volumes/OSXInstaller目录下。

  3. 使用Install OS X Mavericks.app自带的工具来制作启动盘。

  4. 打开终端,执行命令: $ /Applications/Install\ OS\ X\ Mavericks.app/Contents/Resources/createinstallmedia

  5. 该命令会提示你按一定的格式使用该命令, 应该加上系统安装器的目的路径,如上面假设的/Volumes/OSXInstaller。

  6. 等待一会儿。

  7. Done.

更换硬盘

  • 操作前关机拔电。

  • 拆开底部面板(记得保持螺丝有序,稍用心看就会发现中间左右两个短螺丝和其他的几颗短螺丝是不一样的),可以看到HDD在电池旁边。

  • 取出原有的HDD仅需取下HDD和光驱之间的两颗螺丝。

  • 拔出sata数据线。

  • 将HDD周边的4颗螺丝取下,装在SSD上。

  • 装入SSD,并固定好螺丝(这里在SSD正面安装了SanDisk提供的衬垫来帮助固定)。

  • Done.

    Tips: 建议底部面板完成系统安装后再上螺丝,避免因意外而引起不必要的麻烦。

安装系统

因为之前系统被自己折腾的很是糟糕,已经无力回天了,所以备份好数据重装系统。 * 插入bootable OS X installer(这里我用的是一个移动硬盘),按OPTION键,可以进入启动盘的选择界面。

  • 使用Disk Utility给新安装的硬盘分区。这里选择一个分区,选择Mac OS Extended(Journaled)分区格式,点击分区下方的OPTION选项,因为我的是intel-based的Mac,所以选择GUID分区表。点击Apply完成分区。

  • 关闭Disk Utility, 在菜单中选择安装系统。选择将OS X安装到新的SSD。等待2分钟后,系统自动重启后继续安装,又等待20分钟后,完成安装。

如果不需要重装系统,可以事先用TimeMachine备份好自己的系统,然后在菜单中选择从TimeMachine中恢复即可。

结束语

从现在开始,老Mac又可以跑的飞快咯!使用了一周,总的来说,SSD的更换还是非常值得的,极大的降低了个人撑懒腰、喝水、看风景的频率,工作学习从此更加得心应手。

Re-enable Key Repeat in OS X Mavericks

| Comments

今天在安装idealVim的时候,提示我是否需要Enable key repeat,没有过脑子就点了No,结果在vim操作时就有些小崩溃了。长按hjkl时没有办法连续移动。因此还是想办法重新Enable key repeat吧。

在命令行中执行以下命令

$ defaults write -g ApplePressAndHoldEnabled -bool false

重启,搞定。

Macbook Pro外接显示器分辨率问题

| Comments

今天被坑惨了TAT,重新安装了Mavericks后,使用thunderbolt转VGA外接显示器时遇到了分辨率的问题:外接显示器支持1080P的分辨率,但在OS X的Display设置中只能选择最高1280*1024的分辨率。google了许久,尝试了重启、合上盖外接显示器重启,重置NVRM都没有效果。最后在这里发现了问题的解决方案。

具体做法很是简单: 打开Displays窗口,默认的分辨率中没有我们需要的1080P 在外接显示器的分辨率设置中按住键盘上的Option键,再点击 Scaled 选项,此时会发现分辨率选项多了很多选择,问题迎刃而解。

Vim 学习笔记(持续更新中)

| Comments

vim的操作操作是基于模式的,常见的模式包括

  • 插入模式 (INSERT)
  • 编辑模式 (NORMAL)
  • 可视模式 (VISUAL)
  • 命令行模式 (:)

Normal 模式是是最常用的模式,在normal模式下可以通过按键命令进入其他模式,在其他模式下,通过Esc可以回到Normal模式。

操作

编辑模式(Normal)下的操作

在其他模式下按Esc进入Normal模式

命令

  • hjkl –> 光标移动,对应为←↓↑→。
  • 0 –> 光标移动到行头
  • ^ –> 光标移动到本行第一个非空字符的位置
  • $ –> 光标移动到本行行末
  • g_ –> 光标移动到本行最后一个非空字符的位置>
  • f<a-char> –> 在当前行内,光标移动到下一个<a-char>字符所在位置
  • F<a-char> –> 同f<a-char>,但为反方向的移动
  • <a-num>f<a-char> –> 在当前行内,光标移动到第<a-num>个<a-char>字符所在位置
  • t<a-char> –> 在当前行内,光标移动到第一个<a-char>字符的前一个字符位置
  • T<a-char> –> 同t<a-char>, 但为反方向移动
  • <Line-Number>G –> 光标跳到<Line-Number>指定的行
  • gg –> 到第一行
  • G –> 到最后一行
  • w –> 光标移动到下一个单词(word)的开头
  • b –> 光标移动到上一个单词(word)的开头
  • e –> 光标移动到下一个单词的末尾(end)
  • ge –> 光标移动到上一个单词的末尾(end)
  • % –> 在当前行将光标移动到括号所在位置,多次按%可以在多个多个括号之间切换
  • * –> 将光标移动到当前匹配当前光标所在词的下一个
  • # –> 将光标移动到当前匹配当前光标所在词的上一个
  • u –> 撤销上一次操作(undo)
  • <C-r> –> 恢复上一次操作(redo)
  • /<a-pattern> –> 搜索匹配<a-pattern>的字符,按n可以跳到下一个匹配项
  • x –> 删除当前字符
  • dd –> 删除当前行,并保存到剪贴板
  • d<a-char> –> 在当前行内,删除光标位置到<a-char>之前的字符
  • p –> 粘贴
  • a –> 在光标后插入(append),并进入插入模式
  • A –> 在行末插入,并进入插入模式
  • o –> 在当前行前插入,并进入插入模式
  • O –> 在当前行后插入,并进入插入模式
  • cw –> 替换从光标所在位置到一个单词结尾的字符(change word),并进入插入模式
  • ZZ –> 保存并退出
  • . –> 小数点,重复上一个命令
  • <a-num><a-command> –> 重复执行<a-num>次<a-command>命令
  • gUU –> 将当前行的字符串变大写
  • guu –> 将当前行的字符串变小写
  • yy –> 拷贝当前行
  • ye –> 拷贝光标所在位置到本单词最后一个字符的字符串
  • >> –> 当前行向右缩减
  • << –> 当前行向左缩进
  • == –> 自动缩减
  • J => 删除当前行的换行符,即将下一行与当前行连接起来

插入模式下的操作

在Normal模式中输入i进入插入模式

命令

  • <C-n> –> 自动补全,next
  • <C-p> –> 自动补全,previous

可视模式下的操作

在Normal模式中输入v进入可视模式

命令

  • hjkl –> 或使用←↓↑→来创建选区
  • i<an-object> –> 区域选择,不包括<an-object>的区域,<an-object>可以为一个字符,或者一个单词
  • a<an-object> –> 区域选择,包括<an-object>的区域

命令行模式下的操作

在Normal模式中输入:进入命令行模式

命令

  • wq –> 保存并退出
  • x –> 保存并退出
  • w –> 保存,可以加文件名w filename
  • q –> 退出
  • q! –> 不保存退出
  • e –> 打开一个文件
  • saveas –> 另存为
  • n –> 切换到下一个文件
  • <Line-Number> –> 光标跳转到<Line-Number>指定行
  • %s/foo/bar/g –> 在全局(globle)替换foo为bar
  • %s/foo/bar/gcI –> 在全局(globle)替换foo为bar,需要确认(commit),并且忽略(Ignore)大小写
  • s/foo/bar/g –> 在光标当前所在行全局(globle)替换foo为bar

其他技巧

块操作

  1. <C-v> –> 开始块操作
  2. <C-n> –> 向下选择块,(也可以使用其他方式来选择)
  3. <any-command>ESC –> 执行command,ESC键使得操作对区块的每一行生效

Geek Alphabet

| Comments

Letter Name
Α α alpha
Β β beta
Γ γ gamma
Δ δ delta
Ε ε epsilon
Ζ ζ zeta
Η η eta
Θ θ theta
Ι ι iota
Κ κ kappa
Λ λ lambda
Μ μ mu
Ν ν nu
Ξ ξ xi
Ο ο omicron
Π π pi
Ρ ρ rho
Σ σ sigma
Τ τ tau
Υ υ upsilon
Φ φ phi
Χ χ chi
Ψ ψ psi
Ω ω omega

Linux历史命令快捷操作

| Comments

  • 查看历史命令:

    • $ history
    • $ history 100 #最近100条历史记录
  • 快速执行历史记录:

    • 方法1: Ctrl+r(reverse intelligent search交互式搜索),根据输出显示最近输入的命令,再按Ctrl + r会将匹配结果循环展示(Ctrl+g退出)
    • 方法2:使用!

      • $ !! #执行最近一条命令
      • $ !5 #执行history中编号为5的命令
      • $ !字符串 #执行命令中最近一条与字符串匹配的命令