Tips:
- vim操作区分大小写
- 若无特别说明,以下操作均是在“一般模式”下进行
- 下文中的中括号[]表示其具体内容由实际操作决定
光标移动:
- ← ↓ ↑ →
- h j k l:对应于上面四个方向
定位:
- $:光标移至当前行的行尾
- gg:光标移至第一行
- G:光标移至最后一行
- [number]gg或[number]GG:光标移至指定行(由行号决定)
撤销与恢复:
- u(小写):撤销最后执行的一步操作
- Ctrl+r:恢复撤销(即撤销“撤销”)
删除:
- x(小写):删除光标处的单个字符
- dw:删除光标至单词尾的所有字符
- d$:删除光标至行尾的所有字符
- de:类似于dw,但保留空格
- dd:删除整行
- 通用公式:[number]d(w, $, e, d)
- 对应地,有cw, c$, ce, cc,功能类似,只是在删除操作结束后会进入“编辑模式”
查找:
- /[关键词]+回车:正向查找(从上至下)关键词
- ?[关键词]+回车:反向查找(从下至上)关键词
- :set noic+回车:设置查找区分大小写(默认)
- :set ic+回车:设置查找忽略大小写
- n:光标移至下一个匹配
- N或Shift+n:光标移至上一个匹配
替换:
- r[新字符]:将光标处的单个字符替换为新字符
- :s/[old]/[new]+回车:替换当前行的第一个匹配
- :s/[old]/[new]/g+回车:替换当前行的所有匹配
- :[#],[#]s/[old]/[new]/g+回车:替换指定行之间的所有匹配
- :%s/[old]/[new]/g+回车:替换文件所有行的所有匹配
- :%s/[old]/[new]/gc+回车:同上,但需要用户确认每一次替换
进入编辑模式:
- i:进入“编辑模式”,在光标前插入
- a:进入“编辑模式”,在光标后插入
- A:进入“编辑模式”,在当前行尾插入,等同于$+a
- o(小写):进入“编辑模式”,在光标下方新建一行插入
- O:进入“编辑模式”,在光标上方新建一行插入
块选择:
- v(小写):字符选择
- V:行选择
- Ctrl+v:块选择
- y:复制选中的部分
- d:删除选中的部分
共享系统粘贴板:在vim里,跟系统粘贴板相关联的是寄存器+
- "+y:将v模式选中的所有字符复制进寄存器+,即系统粘贴板中(vim→系统)
- "+p:将系统粘贴板即寄存器+中的所有字符粘贴至vim光标处(系统→vim)
杂:
- :reg+回车:查看寄存器,主要是查看粘贴板的内容
- ggyG:复制全文
- %:配对光标处的括号 ( [ {
- :![shell命令]+回车:在vim中执行shell命令
- :[#],[#]w [FileName]+回车:将指定行(由行号决定)间的内容保存至指定文件
- :r [FileName]+回车:将指定文件的全部内容插入至光标处
- R:进入“替换模式”
- [number]dd+p:实现剪切+粘贴功能
- [number]yy+p:实现复制+粘贴功能
- .(小数点):重复前一步操作
- :e!+回车:将文件内容还原到上一次保存时的状态
- ==:自动缩进