写在前面,
8月3日,Vim创始人Bram Moolenaar去世,在此向老爷子致敬!感谢他为这个世界带来的优秀编辑器Vim。
Vim全称叫Vi IMproved. 而vi则是Visual Interface的缩写,他们处理都是ASCII码字符数据;vim 是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。例如语法加亮,可视化操作不仅可以在终端运行,也可以运行于x window、 mac os、 windows。
熟练使用vim绝对是你成为Linux大牛不可或缺的本领,但其命令复杂,需要一定的时间。
在Ubuntu终端下执行
sudo apt-get install vim #安装Vim
。
在Vim中,打开一个文件后,并不处在编辑模式,而是Normal模式(命令模式),命令模式下可完成一些查找、光标移动等操作,不对文件做手动编辑;
若要手动录入文本内容,应该按i进入vim编辑器的insert模式(输入模式);输入模式按Esc退回normal命令模式。
除此以外,还有一种特殊的模式可以执行文件保存、退出编辑器、查找替换等操作,称为“末行模式”。
因此,不同的操作切记要进入正确的模式:
Esc到Normal命令模式;
Normal下按i到insert输入模式;
Normal命令模式下按冒号:到末行模式。
vim编辑器三种模式之间的切换关系、按键操作如下:
启动Vim后,Vim会处于Normal模式。在Vim的Normal模式下,所有的键就是功能键,下面附上Vim功能键分布图,每个按键都具有一定的功能:
命令模式下的基本操作:
(1)光标跳转:按gg跳转至文件第一行的行首、按G跳转至文件最后一行的行首。
(2)复制、粘贴、删除操作:按向下箭头键将光标移动某处,再按2yy,将会复制光标处开始的2行内容(若直接按yy则只复制一行) 。再将光标移动至要粘贴处,然后按下p,完成粘贴操作。
(3)查找关键词:按gg键回到文件开头,输入 /initdefault[关键字] 可在整个文件内查找“initdefault“关键词,并高亮显示;按 n 键跳转至第2个匹配结果,再按一次n键跳转至第3个匹配结果。
在Normal模式下,按下键盘上的i键入Insert输入模式(当然还有其他方式,比如按下a、o、O等,i是最常用的方法),当你在Vim左下角看到 -Insert- 字体,表明你已经进入Vim的Insert输入模式。
在Insert模式输入下,你可以自由的输入你想要输入的东西了,就像使用其他编辑器一样。
也叫 Visual模式。在Normal命令模式下,按键盘v键进入Visual模式,左下角会有VISUAL字样。在Visual末行模式下,可以让你选择文件的一部分内容,以便进行删除、复制等操作。
每次切换模式都要按Esc键先切换到Normal模式,即命令模式。当然也可以用CTRL+[ 或CTRL-C 先切到命令模式(CTRL-C 主要用来强制中止VIM正在执行的各种很耗时的操作)。
1、Normal命令模式<-----> Insert输入模式
用Vim打开文件,默认就是Normal命令模式。此时按下键盘i、a、o、I即可进入Insert输入模式。在编辑模式中,按Esc就可返回到Normal命令模式。如果你不确定是否进入了Normal模式,可以多次按下Esc键。
进入编辑模式按键的含义:
i 在光标所在字符前开始输入文字(insert)。
a 在光标所在字符后开始输入文字(append)。
o 在光标所在行下开一新行来输入文字(open)。
I 在行首开始输入文字。
2、Normal命令模式<----->Visual末行模式
在Normal命令模式下,按键盘v键进入Visual模式,左下角会有VISUAL字样。在Visual末行模式下,按下键盘上的Esc键回到Normal命令模式。
在Normal命令模式下,按键盘冒号:键进入Visual模式,表示要输入vim命令;可输入的命令如下:
:q 退出(更确切的说应该是关闭当前文件)
:w 文件名 保存。如果还是保存为当前文件,不必写文件名
:wq 保存并退出(退出后自动进入Normal命令模式)
:q! 强制退出不保存
:wq! 强制保存并退出。 保存时遇到E45 readonly option is set (add!to override)可用。
删除单行内容 :将光标移动到需要删除的行,按一下ESC键,确保退出编辑模式,
按两次键盘上面的d键,就可以删除了。
删除多行: 将光标移动到需要删除的行,按一下ESC键,确保退出编辑模式,
在dd命令前面加上要删除的行数。例如,如果要删除第4行以下的3行,请按下 3 dd