本文已参与「新人创作礼」活动,一起开启掘金创作之路。
命令模式进入输入模式
i、a、o、 s、 I、 A、 O、 S
i:在光标所在字符前开始插入a:在光标所在字符后开始插入o:在光标所在行的下面另起一新行插入s:删除光标所在的字符并开始插入
I:在光标所在行的行首开始插入,如果行首有空格则在空格之后插入A:在光标所在你行的行尾开始插入O:在光标所在行的上面另起一行开始插入S:删除光标所在行并开始插入
退出
:q:退出。:q!:强制退出,放弃所有修改。:wq:保存修改并退出。
撤回
u:撤回ctrl+r恢复上一步被撤销的操作
行号
- 显示行号
:set nu - 取消行号
:set nonu
控制方向
h:向前一个字符l:向后一个字符j:向下一个行k:向上一个行e:向后移动一个单词b:向前移动一个单词
gg:跳到文件首G:跳到文件尾行数+gg:跳到某行,如123gg,跳到123行- 移动到行首:
home,0,shift+6(^) - 移动到行尾:
end,shift+4($),其中n$表示n行行尾,1表示当前,2表示下一行行尾
复制粘贴
yy:复制一行数字+yy:复制n行,如5yy,复制5行p:粘贴dd:删除一行数字+dd:删除n行
搜索
/xxxxxx:搜索xxxxx内容
替换
:s/word/excel:替换当前行所有word为excel。:s/word/excel/g:替换当前行第一个word为excel,/g代表只替换每行第一个。:%s/word/excel:替换全文所有word为excel。:%s/word/excel/gc:其中/c代表需要确认,并提示:replace with excel (y/n/a/q/l/^E/^Y)?,其中a表示替换所有,q表示退出查找模式,l表示替换当前位置并退出,^E与^Y是光标移动快捷键。:2,11s/word/excel:替换第2到11行的word为excel。:.,$s/word/excel:替换当前行到最后一行的word为excel,.代表当前行,$代表最后一行。:.,+2s/word/excel:替换当前行与接下来2行的word为excel。- 在Visual模式下选择后按
:, Vim自动补全为:'<,'>,然后手动补全:'<,'>s/word/excel,将选择区域的word替换为excel。 :s/word/excel/i:/i代表大小不敏感查找,等同于:s/word\c/excel,而/I代表大小写敏感查找。
Vim分屏
:sp或者:split横向分隔屏幕,后面可以加文件名。:vs或者:vsplit纵向分隔屏幕,后面可以加文件名。:only只保留光标所在分屏,关闭其他分屏。- 在nerdtree插件中,选中文件后按
s纵向分隔屏幕,按i水平分隔屏幕。
拼写检查
对于英文单词的拼写,Vim 可以自动检查拼写 (Spell Checking)。
set spell: 打开拼写检查,可以写在根目录下的 .vimrc 文件里,不过更推荐在需要使用时在 Vim 中手动打开:set spell。- 在 .vimrc 文件里写入
inoremap <C-l> <c-g>u<Esc>[s1z=`]a<c-g>u来将Ctrl+l映射为快捷键,其中[s代表光标跳到上一个拼写错误处,1z=选择第一个推荐的正确拼写,`]a光标跳回原来位置。设置完就可以通过Ctrl+l快速改正单词。