原文日期:2016-03-16
vi编辑器是Linux下最常用的编辑器,vim是其升级版,对程序式文件有良好的支持。相当于Windows底下的notepad和notepad++,所以vim应该Linux下是必学之一的工具。
vim大概有四种模式:普通模式,插入模式,可视模式,命令模式。默认情况下是进入普通模式,当按下i、I字母将进入编辑模式,再按下ESC键返回普通模式;按下冒号(:)进入命令模式,一般是用于保存退出;按下v进入可视模式。
(注:在vi中,数字经常代表次数)
1.普通模式
[[/Shift+[:文档行首。
]]/Shift+]:文档末尾行首。
0/Shift+^/home:当前行首。
Shift+$/end:当前行尾。
yy:复制。
p:粘帖。
u:撤销。
.:重复上一次操作。
数字+方向键:代表游标向该方向移动n行或n列,不要数字则光标移动1行或1列。
数字+Ctrl+f/数字+Ctrl+b:向下/向上翻页,相当于数字+PgDn/数字+PgUp。
0/home:光标移动到该行第一个字母。
$/end:光标移动该行最后面。
Shift+H:光标移动到该屏幕的首行行首。
Shift+M:光标移动到该屏幕中间行行首。
Shift+L:光标移动到该屏幕最后一行行首。
G:光标移动到该文档最后一行的第一个字母。
数字+G:光标移动到这个文档的第n行的第一个字母。
gg:光标移动到这个文档的第一行的第一个字母,相当于1G。
/字符:将查找字符在文档中的位置。此时按字母n键向下查找下一个,大写字母N向上查找上一个。
:数字1,数字2s/字符1/字符2/g:将n1到n2行的字符1替换成字符2。
:数字1,数字2s/字符1/字符2/gc:将n1到n2行的字符1替换成字符2,并需要用户确认。
数字+x/数字+X:向后/前删除n个字符。
数字+dd:删除游标所在行向下n行,没有数字就删除当前行。
d1G:删除游标所在行到资料第一行所有资料。
dG:删除游标所在行到资料最后一行所有资料。
d0/d$:删除从当前光标到改行头/尾之间的字符。
数字+yy:复制游标所在向下n行。
y1G:复制游标所在行到文档的第一行所有资料。
yG:复制游标所在行到文档的最后一行的所有资料。
y0:复制游标所在字符到该行行头所有字符。
y$:复制游标所在字符到该行行尾所有字符。
p/P:在游标下一行/上一行粘帖复制的内容。
J:将游标所在行与下一行合并成一行。
u:撤销。
Ctrl+r:重做。
点号(.):重复上一次的操作。
2.插入模式
普通模式进入插入模式有一下几种方式。
i:从当前游标处插入。
I:从当前游标所在行的行头插入。
a:从当前游标下一个字符处开始插入。
A:从当前游标所在行的行尾插入。
o:当前游标所在行的下一行插入。
O:当前游标所在行的上一行插入。
r:替换当前游标所指的字符,替换一次。
R:替换当前游标所指的字符,替换多次,直到按下ESC键。
3.命令模式(命令列模式中!带有强制的意思)
:set nu/:set nonu:显示/不显示行号。
:q:退出。
:w:保存。
:q!:强制退出。
:wq!:强制保存后退出。
:w 文件名1:将文件另存为文件名1。
:n1,n2 w 文件名1:将第n1行到n2行内容另存为文件名1。
:r 文件名1:将文件名1的内容读入到当前光标所在行的下一行。
:! 指令:暂时离开vi到指令列模式下执行指令。例如:! ls /etc,将会暂时离开vi,去执行ls命令查看/etc下的文件信息。
4.可视模式
当需要选择文档内容时,可按下v或Ctrl+v键,移动方向键去选择内容。v会将游标经过的地方都反白选择,Ctrl+v会用长方形的方式进行区块选择。
v:可视模式。
Ctrl+v:区块选择模式。
Shift+v:行选择模式。
5.多视窗功能
:sp 文件名1:在一般模式下输入:sp 文件名,将会进入多视窗界面。即打开新文件去编辑,如果文件名未填写,则在新视窗中打开当前文档。
Ctrl+w+上下方向键:切换视窗。