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次出现的单词

精确查找:\<词\>只会匹配完全包含在括号中的词 \<匹配开头 \>匹配结束


删除

dc一样都是删除,不过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
2
:set background=dark
:set background=light

并重设高亮显示

1
syntax reset
1
2
3
4
5
6
7
term 黑白终端的显示属性
cterm 彩色终端的显示属性
ctermfg 彩色终端的前景色
ctermbg 彩色终端的背景色
gui GUI的显示属性
guifg GUI的前景色
guibg GUI的背景色

例如:要让注释变为绿色

1
:highlight Comment ctermfg=green guifg=green