三种模式,一般指令模式、编辑模式(i,I,o,O,a,A,ESC退出)、指令列命令模式(:/?)
?
一般指令模式下:
数字n加上下左右键 |
向上下左右移动n个字符 ? ? ? ? ? ? ? ? ? ? ? ? |
ctrl+f |
向下移动一页 |
ctrl+b |
向上移动一页 |
ctrl+d |
向下移动半页 |
ctrl+u |
向上移动半页 |
n+空格 |
向右移动n个字符 |
0 |
移动到该行最前边的字符处 |
$ |
移动到该行最后边的字符处 |
H |
光标移动到这个屏幕最上方那一列的第一个字符处 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |
M |
光标移动到这个屏幕中央那一列的第一个字符处 |
L |
光标移动到这个屏幕最下方那一列的第一个字符处 |
G |
移动到这个文件的最后一列 |
n+G |
移动到这个文件的第n列 |
gg |
移动到文件的第一列,相当于1G |
n+<Enter> |
光标向下移动n列 |
搜索与替换 |
? |
/word |
从光标处向下搜索 |
?word |
从光标处向上搜索 |
n |
重复前一个搜索动作 |
N |
反向进行前一个搜索动作 |
:n1,n2s/word1/word2/g |
n1,n2为数字,表示第n1与n2列之间查找字符串word1,并将该字符串替换成word2 |
:1,$s/word1/word2/g |
从第1列到最后一列替换word1为word2 |
:1,$s/word1/word2/gc |
在替换前显示提示字符给用户确定是否需要替换 |
删除,复制粘贴 |
? |
x,n+x |
向后删除n个字符 |
X,n+X |
向前删除n个字符 |
dd |
删除光标所在的那一列 |
ndd |
删除光标及向下的n行 |
d1G |
删除光标到第一列的所有数据 |
dG |
删除光标所在到最后一列的所有数据 |
d$ |
删除光标所在处到该列尾的字符 |
d0 |
删除光标所在处到该列首的第一个字符 |
nyy |
复制光标及向下n列的数据 |
y1G |
复制光标所在列到第一列的数据 |
yG |
复制光标所在列到最后一列的数据 |
y0 |
复制光标所在字符到该列行首的所有字符 |
y$ |
复制光标所在字符到该列行尾的所有字符 |
p,P |
p将已复制的数据在光标下一列粘贴上,P将已复制的数据粘贴在光标在的上一列 |
J |
将光标所在列与下一列数据合为同一列,中间有空格 |
u |
复原前一个动作 |
ctrl+r |
重做前一个动作,与u相反 |
. |
重复前一个动作 |
:e! |
在vim下进行多种编辑行为后,恢复到原始状态 |
?
?
编辑模式下: ? o:从下一行开始写,a:从当前字符后开始写,i:从当前字符前开始写
i/I |
i为从当前光标所在处插入,I为从目前所在列的第一个非空格处开始插入? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |
a/A |
a为从当前光标所在处的下一个字符处开始插入,A为从光标所在列的最后一个字符处开始插入 |
o/O |
o在光标所在列的下一列插入新的一列,O为在上一列插入新的一列 |
r/R |
进入取代模式,r只会取代光标所在处的字符,R从光标所在处开始取代,直到按下ESC为止 |
退出与保存 |
? |
:w? :q? :wq :q! |
?:w保存,:q离开,:q!强制退出 |
ZZ |
若文件没有改动,不存储离开,若文件变动,则存储后离开 |
:w filename |
将编辑的数据存储成另一个文件 |
:n1,n2 w filename |
将n1到n2的内容存储成另一个文件 |
:r filename |
在编辑的数据中,读入另一个文件的数据,即将该文件内容加在光标所在列的后边 |
:! command |
暂时离开vim到命令行模式下执行command并显示结果,例如:! ls -l |
:set nu |
显示行号 |
:set nonu |
取消行号 |
?
区域块的选择:
?
v |
字符选择,将光标经过的地方反白选择? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |
V |
行选择,将光标经过的行反白选择 |
ctrl+v |
区域块选择,可以用长方形的方式选择字符 |
y |
将反白的地方复制 |
d |
将反白的地方删除掉 |
p |
将复制的区域块,粘贴在光标所在处 |
?
多文件编辑
vim + 多个文件名 同时编辑多个文件
:files |
查看目前该vim开启的所有文件,显示%a的文件为当前正在编辑的文件? ? ? ? ? ? ? ? ? ? |
:N |
编辑上一个文件 |
:n |
编辑下一个文件 |
?
多窗口功能
打开一个文件后,通过:sp [文件名]在新窗口打开另一个文件,文件名缺失时,出现在新窗口中的是同一个文件
:sp [filename] |
在新窗口中打开文件 |
ctrl+w后加方向键 |
切换当前所在窗口 |
:q |
关闭当前窗口 |
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|