Vim模式
- 终端vim file1 file2 …可以打开多个文件。
- :ls显示打开的文件,可以使用:bn在文件间切换( n也可以换成:ls里给出的文件序号 )。
- 打开vim后,可以用:e fileName来打开文件或者新建文件。
- 在终端vim -o file1 file2 …可以打开多个文件(横向分隔屏幕)。
- 终端vim -O file1 file2 …可以打开多个文件(纵向分隔屏幕)。
Ctrl+w+w在窗口间切换光标,第二个w也可以用h、j、k、l来光标代表移动方向。
Vim退出
:q:退出。
- :q!:强制退出,放弃所有修改。
-
常用快捷键
方向键
也可以用h、j、k、l。
- 0到行首,$到行尾。
- gg到文档首行,G到文档结尾。
- Ctrl+f下一页,Ctrl+b上一页。
- Ctrl+u往上半页,Ctrl+d往下半页。
- w或e光标往后跳一个单词,b光标往前跳一个单词。
- :98跳转到第98行。
- q:显示命令行历史记录窗口。
- !bash_Command不退出vim暂时返回终端界面执行该命令。
H将光标移动到屏幕首行,M将光标移动到屏幕中间行,L将光标移动到屏幕最后一行。
Vim分屏
:sp或者:split横向分隔屏幕,后面可以加文件名。
- :vs或者:vsplit纵向分隔屏幕,后面可以加文件名。
- :only只保留光标所在分屏,关闭其他分屏。
- 在nerdtree插件中,选中文件后按s纵向分隔屏幕,按i水平分隔屏幕。
复制粘贴
- 在Visual模式下选择文档内容后按y键,复制被选择内容。
- 按p键粘贴,注意粘贴从紧跟光标后的那个字符之后才开始。
abc d “COPIED_TEXT” efghk… (
是光标)
- 在Normal模式下,按/进入查找模式,输入/word后回车,高亮显示所有文档word,按n跳到下一个word,按N跳到上一个。
- 若输入/word\c代表大小写不敏感查找,\C代表大小写敏感。
- 输入:noh取消高亮。
- 按下*高亮查找光标位置处的单词,但若查找word,helloword中的word不会被高亮。
- 按下g*高亮查找光标位置处的单词,若查找word,helloword中的word也会被高亮。
-
替换
: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的高级功能,即便没掌握也不影响Vim的正常使用。
- set foldenable: 打开代码折叠功能,可以写在根目录下的.vimrc文件里。
- set foldmethod=syntax: 设置折叠方式(foldmethod可缩写为fdm),常用的折叠方式有:
syntax: 按 C \ C++ 语法折叠 {};
indent: 按缩进折叠,适用于 Python 。
- set foldlevelstart=99: 打开文件时不自动折叠代码。
- zc & zo: 在Normal模式下将光标移动到代码的可折叠位置,按zc折叠代码(close),zo打开折叠的代码(open)。
小技巧 : 将nnoremap
拼写检查
对于英文单词的拼写,Vim 可以自动检查拼写 (Spell Checking)。
- set spell: 打开拼写检查,可以写在根目录下的 .vimrc 文件里,不过更推荐在需要使用时在 Vim 中手动打开 :set spell。
- 在 .vimrc 文件里写入 inoremap
u [s1z= ]a<c-g>u 来将 Ctrl+l 映射为快捷键,其中 [s 代表光标跳到上一个拼写错误处, 1z= 选择第一个推荐的正确拼写,]a 光标跳回原来位置。设置完就可以通过 Ctrl+l 快速改正单词。
