基本操作
.
重复上次操作@:
重复上次的Ex命令A
在行尾添加、可以使用A
代替$a
s
删除当前光标所在字符、并进入插入模式>G
可以增加当前行到文档末尾处的缩进<G
会减小当前行到文档末尾的缩进shift+v
会选中行f{char}
在行内查找;
重复执行,
回退F{char}
在行内查找上一字符;
重复执行,
回退t{char}
正向移动到下一个char所在之处的前一个字符上T{char}
反向移动到上一个char所在之处的前一个字符上*
查找当前光标下的字符<C-x>
找到第一个数字 -
<C-a>
找到第一个数字 +gUap
把当前段落转化为大写guap
当前段落转化为小写gUl
把光标下的字母转化为大写gUaw
把当前单词转化为大写<c-r>=
可以执行数学运算v
面向字符可视模式V
面向行可视模式<C-v>
面向块的可视模式o
切换高亮选择区的活动端%
代表整个文件tab
键自动补全Ex命令<C-d>
可以自动补全命令参数split
将窗口横向切分vsplit
将窗口纵向切分<C-w>w
在窗口间循环切换<C-w>h
切换到左边的窗口<C-w>l
切换到右边的窗口<C-w>j
切换到上边的窗口<C-w>k
切换到下边的窗口:ls
显示在输出缓冲区打开的文件列表:bn
打开编号为n的文件:tabedit
在新的标签页打开文件tabn {n}
跳转到第n个标签页:find
使用find查找文件:set path+={path}
可以添加文件查找路径:e.
显示当前文件所在的目录j
移动到文本下一行gj
移动到屏幕下一行e
跳到单词的结尾b
反向跳到单词的开头w
跳到下一单词的开头dt{char}
删除当前光标到{char}的内容mm
设置标记m'm
跳回标记m%
可以在开闭括号间挑转<C-o>
<C-i>
在打开的多个文件间执行跳转x
剪切一个字符、放入匿名寄存器p
将无名寄存器的内容粘贴"0p
是复制专用寄存器、其它操作、如x/d
等会覆盖无名寄存器的内容、但不会破坏0寄存器的内容:g/re/d
删除所有的匹配行:v/href/d
只保留匹配行<C-]
跳转到定义处<C-t
跳回引用处<C-n
普通关键字<C-x> <C-n>
会提供更多的关键字<C-e>
终止自动补全匹配<C-n> <C-p>
交互式过滤选择列表
插入模式下
<C-h>
删除前一个字符、等价于退格
<C-w>
删除前一个单词
<C-u>
删至行首
<C-r>=exp
计算exp表达式的结果
<C-v>{code}
输入特殊字符、eg <C-v>u00bf
会得到 ¿
<C-k>{c1}{c2}
得到二合字母的组合 eg. ?I -> ¿ 只需输入 ?I
视图模式
v
面向字符的可视模式
V
面向行的可视模式
<C-v>
面向列的可视模式
gv
重选上次的高亮区域
o
视图模式下、切换高亮区的活动端
命令行模式
:3d
删除第三行
:2,5d
删除第2到5行
:%p
显示当前文件中的所有行
:.,$p
显示当前行到最后一行
:.,$d
删除当前行到文件尾
:%s/a/b/g
将a替换为g
:/<html>/, /<\/html>/p
将<html>
和</html>
之间的部分打印
:.,.+3p
打印当前行之后的3行 +n修正
:t.
相当于yyp
:t$
复制到文件尾
:6t.
把第6行复制到当前行下方
:m3
把当前行移动到第三行的下边
:2m5
把第2行移动到第5行的下边
@:
重复执行上次执行的Ex命令
tab
键可以补全命令
<C-d>
显示所有的可补全项
shift+k
跳转到man手册