vim-进阶
有用的命令:
撤销
撤销:u
反撤销:ctrl+r
命令计数
命令计数(重复执行命令):num+motion
例如:重复添加五个2
1 | 5a2 ESC |
退出
退出:ZZ
放弃所有操作退出::q!
放弃所有操作并恢复到开始编辑状态::e!
跳转
跳转:e
下个词尾。ge
上个词尾
将当前行置于开头:zt
将当前行置于正中间:zz
将当前行置于结尾:zb
``在最近的两次跳转中切换
ctrl+o
可多次回跳older
ctrl+i
可多次前跳
:jumps
命令会列出关于你曾经跳转过的位置的列表。你最后一个跳
转的位置被特别以一个>
号标记
自定义标记
m字母
标记当前为字母mark
`字母跳转标记处
查找
/
向下搜索 num+n
并重复搜索
?
向上搜索 num+N
并重复搜索
*
查找光标下下一次出现的单词 num+*
查找光标下num次出现的单词
#
查找光标下前一次出现的单词 num+#
查找光标前num次出现的单词
精确查找:\<词\>
只会匹配完全包含在括号中的词 \<
匹配开头 \>
匹配结束
删除
d
与c
一样都是删除,不过c
之后进入insert模式
x
代表dl(删除当前光标下的字符)X
代表dh(删除当前光标左边的字符)D
代表d$(删除到行尾的内容)C
代表c$(修改到行尾的内容)s
代表cl(修改一个字符)S
代表cc(修改一整行)
替换
num+r
重复替换num次
重复执行
.
点命令可重复上次命令
put
当使用了删除后,内容被保存了起来,而p
可取出来,num+p
可指定取出的次数
交换两个字符
在需要交换的字符上按xp
即先删除字符到寄存器中再put
aw和is
aw
:a word
is
:inner sentence
例如:
删除一个单词:daw
删除一行:cis
设置底部信息显示区高度
例如:
1 | :set cmdheight=3 |
设置背景颜色
1 | :set background=dark |
并重设高亮显示
1 | syntax reset |
1 | term 黑白终端的显示属性 |
例如:要让注释变为绿色
1 | :highlight Comment ctermfg=green guifg=green |