Vim 常用功能
总结一下常用的Vim快捷键和命令。
移动光标
- 光标移动到当前单词首:b
- 光标移动到多个单词首:nb
- 光标移动到单词尾:e
- 光标移动到下一单词尾:w
- 光标移动到多个单词后:nw
- 光标移动到行首:0
- 光标移动到行尾:$
- 光标移动到当前文档开头:gg
- 光标移动到当前文档结尾:$
- 光标移动到指定行 → \rightarrow → :n (行号)
- 光标移动当前行: "m+1"向下移动一行,"m-2"向上移动一行
- 光标返回上次索引处: ctrl + o
- 移动光标: h, j, k, l
输入模式
- 敲击键盘: i (insert)
- 敲击键盘: a (append)
- 退出命令(quit): ctrl + c
查找字符串
- 敲击键盘:/,之后敲n移动到下一个,敲N移动到上一个。
- 高亮当前单词:shift + *
- 搜索内容并汇总":g/insert err"
- 中括号可能表示正则匹配,需要加上 \(backslash)后可以识别。For example, run [OBJTN_TRC] Object
- 字数统计(take test as an example):%s/test/&/gn
- 对比两个文件: 使用vim -d file1 file2 直接打开两个文件对比。或者使用vim file1打开第一个文件,然后使用vert diffsplit file2打开第二个文件进行对比。vert表示垂直分割窗口,默认为水平分割窗口。
- 直接对比两个文件的不同:使用diffthis分别在两个窗口输入。
- 高亮当前鼠标点选对象: Shift + 3/8
- 切换选择窗口:crtl + h/l
- 显示目录:F2
替换字符串
- 敲击键盘:r,之后编辑文本
- 输入命令格式 → \rightarrow → :n1, n2 s/a1/a2/g
删除字符串
- 删除光标所在当前行:dd
- 删除多行:ndd
- 删除光标所在位置到行尾:D
选中字符串
- 选中一个单词:viw
- 进入选择模式:v
复制与粘贴
- 复制:y
- 复制单词:yw
- 粘贴:p
- 剪切单字:dw
匹配特殊符号
- 匹配括号:光标选中(,敲击%
- 匹配begin - end:同上
- 匹配task endtask:同上
- 匹配case endcase:同上