在 Sublime 中使用 Vim 指南

96
九彩拼盘
2017.02.17 07:13* 字数 803

Sublime 被称为最性感的编辑。Vim 被称为编辑器之神。
我喜欢 Sublime 的强大易用,也喜欢 Vim 的快速和掌控感(文末有展示Vim肌肉的几个例子)。
幸运的是,可以在 Sublime 中使用 Vim 的大部分功能。

让 Sublime 支持 Vim

Sublime 中自带支持 Vim 的插件,但默认是关闭的。开启方式为:在菜单 Preferences/Settings-User 中设置

"ignored_packages": []

在 Sublime 中按下 Esc 键,就进入了一般模式。但 Esc 键好远,我们可以在 Key Binding 中改成自己习惯的键。 我用的是 fj (有点非主流,哈哈),如下:

{ "keys": ["f", "j"], "command": "exit_insert_mode"}

下面是一般模式下的常用命令。

移动光标

  • h,j,k,l: 左,下,上,右。
  • w: 下一个词的词首。
  • b: 上一个词的词首。
  • e: 下一个词的词尾。
  • $: 行尾。
  • ^: 行首。0也可以达到一样的效果。
  • gg: 到文件第一行。
  • ngg: 到文件第n行。
  • G: 文件最后一行。
  • M: 到屏幕中间。
  • {: 向上跳转到最近的空行。
  • }: 向上跳转到最近的空行。
  • ctrl + n: 到第n个面板。编号顺序是从上到下,从左到右。

进入编辑模式

  • i: 光标前插入。
  • I: 在当前行首插入。
  • a: 光标后插入。
  • A: 当前行尾插入。
  • O: 在当前行之前插入新行。
  • o: 在当前行之后插入新行。

删除

  • x: 删除光标所在位置的字符。
  • D: 删至到行尾。
  • d: 配合移动光标一起使用,如:
    • d^: 删至行首。
    • dw: 删除当前光标到该单词结束。
    • dd: 删除当前行。

查找

  • /: 输入关键字,发现不是要找的,直接在按n,向后查找直到找到为止。
  • ?: 输入关键字,发现不是要找的,直接在按n,向前查找直到找到为止。

修改

  • y: 复制。要配合移动光标一起使用,如:
    • yy: 复制当前行
    • yw: 复制当前光标到该单词结束。
  • p: 粘贴。将内容粘贴在当前光标后。
  • P: 粘贴。将内容粘贴在当前光标前。
  • r: 替换当前字符为下面输入的字符。
  • u: 撤销上一步操作。

选择

  • v: 要配合移动光标一起用。对选择的区域可以做删除(d),复制(y)等操作。

其他

  • .: 重复上个命令。
  • 数字+命令:将命令执行n遍。如
    • 4w: 向后移4个单词。
    • d4w: 向后删除4个单词。
    • 5yy: 复制5行。

示例

下面的示例都是在已经进入一般模式下进行的。

  • 在当前行结尾加分号:A;
  • 将50到60行的内容移动到30行: 50ggv61ggd30ggP(移动到50行,选择到60行,剪切,移动到30行,粘贴)。
🐋 Web 前端
Web note ad 1