如何灵活的运用VI编辑器
VIM编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令。由于对Unix及Linux系统的任何版本,vi编辑器是完全相同的,因此您可以在其他任何介绍vi的地方进一步了解它。Vim也是Linux中最基本的文本编辑器,学会它后,您将在Linux的世界里畅行无阻。
一,vim的基本概念
基本上vim可以分为三种模式,分别是命令模式、插入模式和末行模式,各模式的功能区分如下:
1) 命令行模式:控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入插入模式下,或者到末行模式。
2) 插入模式 :只有在插入模式下,才可以做文字输入。
3) 末行模式 :将文件保存或退出vi,设置编辑环境,以及寻找、替换字符串、列出行号等。
二,vi的基本操作
进入vim
$ vim [+][num] myfile #+号后跟num指定将光标定位在打开后的文件的第几行行首,若+号后不跟num,则光标定位到到开后的文件的末行。
三,vim的常用命令
1,进入输入模式:
i 在当前光标所在处前插入字符。
I 在当前光标所在行行首插入字符。
a 在当前光标所在处后插入字符。
A 在当前光标所在行行尾插入字符。
o 在当前光标所在行下面插入一行。
O 在当前光标所在行上面插入一行。
2,光标移动
0或^:行首
$:行尾
w:下一个单词词首
b : 上一个单词词首
ctrl+b:上翻一屏
ctrl+f:下翻一屏
ctrl+b:上翻半屏
ctrl+d:下翻半屏
1G:第一行
G:末行
3,文本编辑
r:替换光标所在处的字符
R:替换光标所到之处的字符
J:把光标所处行的下一行内容接到当前行的行末
x:删除光标所在位置的字符
X:删除光标所在位置的前一个字符
dw:删除光标所在位置的单词
db:删除光标所在位置之前的一个单词
dd:删除光标所在位置的一行
d0:删除光标所在行的第一个字符到光标所在位置的前一个字符之间的内容
d$:删除光标所在行的最后一个字符到光标所在位置的后一个字符之间的内容
d1G:删除光标所在行到文件第一行之间的内容
dG:删除光标所在行到文件最后一行之间的内容
u:撤销上一次操作
ctrl+r:重做上一次操作
ctrl+u:在输入模式下,撤销刚才输入的内容
4,复制、粘贴
yy:复制光标所在行
p:将复制的内容粘贴到光标所在的位置
5,查找与替换
/string:从光标位置往文件尾部查找string,按n查找下一个,按N返回上一个
string:从光标位置往文件头部查找string,按n查找下一个,按N返回上一个
:s/p1/p2/g:将光标所在行中所有p1用p2替换。
:n1,n2s/p1/p2/gi:将从n1行到n2行中所有p1用p2替换
:%s/p1/p2/g:将所有行中所有p1用p2替换
注意:p1可以使用正则表达式(BRE);;;\为转义符;;;模式分隔符可以使用除/外其他字符替代,如@、#等等;地址定界符除了上述写法外还可以使用模式匹配的方式(/pattern/s….),以及使用当前行的方式(.,+num|.,-num)其中.号代表当前行,+num代表当前行向下几行,-num代表代表向上几行;;;i命令代表忽略大小写进行匹配,g命令代表全局替换。
6,末行模式命令
w file:将当前文件的内容写到文件file中
e file:打开并编辑文件file,若文件不存在则新建一个。
r file:将文件file的内容添加到当前编辑的文件中
n:移动光标到第n行
!command:执行shell命令command
r!command:将命令command的输出结果添加到当前行