Vim

一.移动光标
| 命令 | 含义 |
|---|---|
| h | 往左移动一个字符 |
| j | 往下移动一个字符 |
| k | 往上移动一个字符 |
| l | 往右移动一个字符 |
| [n]- | 往上移动n行 |
| [n]+ | 往下移动n行 |
| :[n] or [n]G | 移动到n行 |
| gg | 移动到文件第一行 |
| G | 移动到文件最后一行 |
| w | 下一个单词的词首 |
| b | 上一个单词的词首 |
| t) | 向后查找,将光标移动到)的前一个字符 |
| T” | 向前查找,将光标移动到”的后一个字符 |
| f) | 向后查找,将光标移动到) |
| F” | 向前查找,将光标移动到” |
二.动作
1.删除文本(delete)
| 命令 | 含义 |
|---|---|
| x | 删除一个字符 |
| dw | 删除一个单词 |
| [n]dw | 删除n个单词 |
| dd | 删除一行 |
| [n]dd | 删除n行 |
| :[m],[n]d | 删除[m,n]行 |
| d^ | 删除到行首 |
| d$ | 删除到行尾 |
| dt) | 删除到) |
| dt” | 删除到” |
2.复制文本(yank)
| 命令 | 含义 |
|---|---|
| yy | 复制一行 |
| nyy | 复制n行 |
| :[m],[n]y | 复制[m,n]行 |
| yw | 复制一个单词 |
| [n]yw | 复制n个单词 |
| yt) | 复制到) |
| yt” | 复制到” |
3.修改文本(change)
删除操作+进入编辑模式
| 命令 | 含义 |
|---|---|
| cc | 删除当前行,并进入编辑模式 |
| [n]cc | 删除n行 |
| cw | 删除一个单词 |
| [n]cw | 删除n个单词 |
| c^ | 删除到行首 |
| c$ | 删除到行尾 |
| ct) | 删除到) |
| ct” | 删除到” |
| c[n]G | 删除到第n行 |
| cG | 删除到文件末尾 |
三.文本对象
| 命令 | 含义 |
|---|---|
| di( | 删除()内的内容 |
| da( | 删除()内的内容,包括() |
| dip | 删除一段(空行) |
| dap | 包括空行 |
四.粘贴、撤销、恢复
| 命令 | 含义 |
|---|---|
| p | 粘贴 |
| u | 撤销 |
| Ctrl + r | 恢复 |
五.查找和替换
| 命令 | 含义 |
|---|---|
| /pattern | 从光标所在位置向后查找匹配内容 |
| ?pattern | 从光标所在位置向前查找匹配内容 |
| n | 移动到下一个匹配项 |
| N | 移动到上一个匹配项 |
| :s/old/new | 替换一行的第一个old词 |
| :s/old/new/g | 替换一行的所有old词 |
| :1,10s/old/new/g | 替换1到10行的所有old词 |
| :%s/old/new/g | 替换全文的old词 |
六.多窗口
| 命令 | 含义 |
|---|---|
| :split | 水平分割 |
| :new | 水平分割 |
| :vsplit | 垂直分割 |
| :vnew | 垂直分割 |
| :wall | 保存所有修改过的窗口 |
| :qall | 退出所有窗口 |
| :only | 保留当前窗口,退出其他所有窗口 |
插件安装
1 | git clone https://github.com/chxuan/vimplus.git ~/vimplus-master |

