Vim简明使用手册(学习笔记)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Vim简明使用手册
~jizhi 2011.12.6
(一)打开vim
(1)vim是vi的升级版,比vi好用多了。下载vim:
sudo apt-get install vim (此时会安装最新版)
(2)打开vim(以下的new.txt=未有文件名,had.txt=已有文件名,后缀.txt只不过
让看起来更像一个文件名,并无他意):
1、在终端输入 [ vim ],则打开一个空vim
2、在终端输入 [ vim new.txt ],则新建一个名为newfile.txt的文档
3、在终端输入 [ vim had.txt ],则打开已有的名为had.txt的文档
4、一个vim分屏打开多个文档:先打开一个文档,然后命令模式下输入 [ :sp other.txt ](注意sp前有 : 表示行末模式),则在原来的文档上方打开名为other.txt的文件。不
同文件间切换用 [ Ctrl+w+w ]
(3)打开已有文档时要求光标处于指定行数 [ vi +n had.txt ],其中[ n ]是指定的行数,如 [ vi +5 had.txt ]则打开后光标在第5行行头。若要打开后光标直接在最后一行,则
不要数字n,[ vi + had.txt ]
(4)标出行号 [ : set number ],注意有[ : ],表示行末模式。标出的行号只在屏幕显示,不会写到实际文档中。若要求打开文档时总有行号而不需要每次都输入这个命令,
则修改vimrc即可 [ sudo gedit /etc/vim/vimrc ],加入 [ :set number ],保存
(二)保存和退出vim
(1)保存并退出:
1、输入大写 [ ZZ ]
2、输入 [ : x ]或 [ : wq ],注意,这里是行末模式的[ : x ],有个[ : ]号,而不是命令模式下的删除指令。
这三个保存并退出指令效果一样,因此最好用的当属[ : x ]。
(2)保存但不退出 [ : w ]。
(3)另存为:
1、[ : w othername.txt ]
2、强制覆盖已有文件 [ : w! 覆盖后的文件名 ],注意后面有个[ ! ]
(4)不保存直接退出 [ : q! ],这里也有[ ! ]。
(三)移动光标
光标移动只能在命令模式下进行!
(1)上下左右移动:可用那4个箭头,但实际使用中用字母hjkl更方便,h左,j下,k上,l右。开始可能不太习惯,但用多了觉得非常方便,因为手不用大幅度移动。
(2)对于英文,光标移动一个“英文单词”的距离:
1、[ b ] 光标左移到前一个单词的首字母
2、[ w ] 光标右移到下一个单词的首字母
3、[ e ] 光标右移到下一个单词的末字母(没有移到前一个单词的末字母)
注意,所有标点都是一个独立的单词,单词之间用空格或标点分开,因此,光标有
可能移到标点上。
(3)对于中文,光标移动一个“中文句子”的距离:
1、[ b ] 光标左移到前一个句子的第一个字
2、[ w ] 光标右移到下一个句子的第一个字
3、[ e ] 光标右移到下一个句子的最后一个字(没有移到前一个句子的最后一个字)注意,所有标点都是一个独立的句子,句子之间用空格或标点分开,因此,光标有可能移到标点上。另外,两个汉字之间用空格公开如“我 们”,则变成两个句子,一句一个字。
(4)光标移到一段:首先要清楚如何叫一段。这里的段落用“空行”分开,空行与空行之间那块文字就叫一段而不理那块文字里面如何布局
1、[ ( ] 上移到上一段的段首
2、[ ) ] 下移到下一段的段首
注意,都是移到段首。
(5)光标在“空行”间移动(与移一段差不多)
1、[ { ] 移到上一个空行首
2、[ } ] 移到下一个窄首
(6)光标移到指定行 [ : 行号n ]
(7)光标移到行头行尾:
1、[ 数字0 ] 光标移到行头
2、[ $ ](Ctrl+4)光标移到行尾
(8)光标移到文档第一行和最后一行:
1、[ gg ] 光标移到文档第一行
2、[ G ] 光标移到文档最后一行
(9)光标一次移多行
1、[ Ctrl+u ](组合键)光标上移6行
2、[ Ctrl+d ] 光标下移6行
3、[ Ctrl+f ] 上翻一页
4、[ Ctrl+b ] 下翻一页
(四)插入文字
插入文字有 A a I I O o 六个命令,它们的功能如下:
(1)光标前后插入:
1、[ i ] 光标前插入文字
2、[ a ] 光标后插入文字
(2)行头行尾插入:
1、[ I ](大写i)光标所在的行头插入文字
2、[ A ] 光标所在的行尾插入文字
(3)插入空行:
1、[ O ] 光标所在行的上方插入空行
2、[ o ] 光标所在行的下方插入空行
(五)替换文字
替换文字有 R r cw 三个命令,它们功能如下:
(1)[ r ] 只替换光标所有的那个字
(2)[ R ] 从光标开始一直往后逐个字逐个字替换,直到按[ Esc ]为止
(3)[ cw ](两个小字字母按顺序按)则替换一个单词,按[ Esc ]返回时多余的字母会自动去掉
(六)删除文字
删除文字有 x Delete键dw dd S s 六个命令,它们功能如下:
(1)[ x ] 或 [ Delete键] 删除光标所在的字
效果:删除光标所在的字,然后后面的字补上,因此删一个字后,光标在所删字后面的那个字上。因此,若要删除连续的几个字,光标应该放在最前的那个字上。两者分别有注意事项:在命令模式下两者没有任何分别,但在文本模式下两者完全不同。在文本模式下,[ x ]只是一个字母而非命令,而[ Delete ]还是删除命令。但在文本模式下按[ Delete ],对于中文,按第一下时没有任何变化,按第二下才删(实际上按第一下时换到命令模式了);但对于英文,在文本模式下按[ Delete ],光标前的英文会有变化——小写变大写、大写变小写,这是我们不想要的结果。因此,在文本模式下用[ Delete ]删除文字,只能在中文中
(2)[ dw ] 删除整个单词
所谓“单词”是从光标所在字母算起的,如calibration is need,光标在calibration的b字母上,则 [ dw ] 命令只认为单词是bration而非calibration。因此