vim共有3种模式,分别为通常模式、编辑模式和指令列模式。其中,使用vim打开一篇文档默认进入通常模式,在此模式下能够进行通常的操做;经过按(i、I、a、A、r、R)键进入编辑模式,能够对文本内容进行编辑,而按ESC键回到通常模式;经过按(:、/、?)等键进入指令列模式,能够输入指令进行查找、保存等操做,一样,按ESC键回到通常模式。vim
须要注意的是,编辑模式、指令列模式均可以和通常模式进行切换,但编辑模式和指令列模式之间不能够直接切换。ide
另外,本文中,每一个命令后面的‘:’不是命令自己,请注意。spa
1、光标的移动命令文档
使用vim打开文档后,默认进入通常模式。此时能够使用不一样的按键快速移动光标。string
k,j,h,l:上下左右光标移动命令,也就是右手在键盘上放置的位置部分,固然也支持使用键盘的上下左右键进行移动。it
另外,若是想快速移动光标,也能够按下n(kjhl),n表明数字。好比按下20k,则光标向上移动20行。class
ctrl+f:屏幕向下移动一页,固然也支持pagedown。file
ctrl+b:屏幕向上移动一页,固然也支持pageup。im
0:数字0能够使光标快速移向本行行首,固然也支持home键。word
$:此按键能够使光标快速移向本行行尾,固然也支持end键。
G:光标移动到最后一行。
nG :n为行数,该命令当即使光标跳到指定行。
gg:光标快速移动到文件的第一行。
n<Enter>:光标向下移动n行
2、选择命令
在通常模式下,能够按相应的命令,以进行选择。
v:按下v键,能够进行选择。此时再经过上下左右键移动光标,则能够按字符选择。
V:按下V键,能够进行按行选择。
ctrl+v:此时能够进行区域的选择。至关于在word下按着alt进行选择。
y:将选择好的复制。
d:将选择好的删除
3、编辑命令
1)删除命令
x,X:在一行中,x表明向后删除一个字符(相似del键),而X表明向前删除一个字符(相似backspace键)
nx:n为数字,表明连续删除后面的n个字符
dd:删除光标所在的行
ndd:删除n行(包含光标所在行,向下的n行)。
2)查找命令
在通常模式下,输入相应命令可进入指令列模式,以进行查找。
/string:从光标处向下查找string这个关键字
?string:从光标处向上查找string这个关键字
n:当查找后,按n可重复查找
N:当查找后,按N可反向重复查找
3)替换命令
:n1,n2s/old/new/g:n1与n2为数字。此命令表示在行n1和行n2之间查找old关键字,并替换为new。
:1,$s/old/new/g:此命令表示从1行开始直到最后一行,查找old关键字,并替换为new。
另外,在上述两个命令中,若是在g后面加上c,则表示每次替换须要用户的确认。
4)复制命令
yy:复制一行
nyy:复制n行
5)粘贴命令
p,P:p表示从光标所在行的下一行开始粘贴,而P表示从光标所在行的上一行开始粘贴
6) 插入命令
在通常模式下,能够按不一样的按键以进入编辑模式,进行文档的修改。
i,I:此两个命令表明从通常模式进入插入模式。其中,i表示从目前光标所在处插入,I表明从光标所在行的第一个非空格符处插入。进入插入模式后,文档的右下角会出现“INSERT”提示。
a,A:此两个命令也可进入插入模式。其中,a表明从目前光标的下一字符处开始插入,而A表明从光标所在的末尾开始插入。
o,O:此两个命令也能够进入插入模式。其中,o表明在目前光标所在行下插入一行,而O表明在目前光标所在行上插入一行。
r,R:此两个命令能够从通常模式进入替换模式。其中,r会替换光标所在字符1次就自动退回通常模式,而R能够一直替换。
进入插入模式后,固然也支持键盘上的上下左右、enter、home等键的操做。
7)反悔命令
u:至关于Windows下的ctrl+z,即反悔一次。可屡次反悔。
ctrl+r:至关于Windows下的ctrl+主,即重作反悔的上一个动做。
.:小数点命令,表明重作前一个动做。须要注意的是,它和ctrl+r是不一样的。ctrl+r表明反悔后的重作,而小数点命令是重作前一个动做。
4、多文档的编辑
能够使用vim一次打开多个文档,也能够将同一个文档打开屡次。
当打开两个或以上的文档的时候,能够使用相应的按键进入多文档的编辑。
:n:编辑下一个档案
:N:编辑上一个档案
:files:列出目前vim开启的全部档案
另外,vim也支持多窗口显示。即在同一个屏幕上同时显示多个文档的状况。
在通常模式下,按下:sp命令可再次打开该文档并多窗口显示,按下:sp filename命令,可打开filename那个文档并多窗口显示。
当多窗口显示后,有如下命令能够操做。
ctrl+w+k或ctrl+w+↑:切换到上面的窗口
ctrl+w+j或ctrl+w+↓:切换到下面的窗口
5、保存退出
在通常模式下,经过按相应的按键,能够进入指令列模式,便可以在屏幕下方输入相应指令,完成保存退出等功能。
1)显示/关闭行号
:set nu:在全部行以前显示行号
:set nonu:关闭全部行以前的行号
2)保存退出
:q:退出vim
:q!:不保存修改,强行退出vim
:w:保存修改过的文件内容
:wq:保存修改内容并退出vi
:wq [filename]:将文档存为filename,至关于“另存为”。