Linux的命令行界面下面有非常多的文本编辑器。比如经常听说的就有Emacs、pico、nano、joe与vim等。vim可以看做是vi的高级版。我们为什么一定要学习vim呢?有以下几个原因:
(1)所有的Unix like系统都会内置vi文本编辑器,其他的文本编辑器则不一定会存在。
(2)很多软件的编辑接口都会主动调用vi。
(3)vim具有程序编辑的能力,可以主动以字体颜色辨别语法的正确性,方便程序设计。
(4)程序简单,编辑速度快。
相关阅读:
在CentOS 6.2上搭建Vim开发环境
Ubuntu中设置Vim的行号
二、下面先介绍一下vi的基本使用方法及其相关命令。
vim编辑器的三种模式:一般模式、编辑模式和命令行模式。
在一般模式中可以进行删除、复制和粘贴的功能,但是无法编辑文件内容。从一般模式切换到编辑模式可以按下i、I、o、O、a、A、r、R键。按下Esc键可以回到一般模式。在一般模式中输入:、/、?三个中的任意一个可以将光标移到最下面的一行。在这个模式中可以提供查找数据的操作,而读取、保存、大量替换字符、离开vii、显示行号等操作则是在此模式中完成的。需要注意的是,编辑模式与命令行模式之间是不能互相切换的。
下面列出平时用的最多的vi命令:
移动光标的方法:
[Ctrl]+[f]:屏幕向下移动一页,相当于[PageDown]按键。
[Ctrl]+[b]:屏幕向上移动一页,相当于[PageUp]按键。
0或功能键[Home]:移动到这一行的最前面字符处。
$或功能键[End]:移动到这一行的最后面字符处。
G:移动到这个文件的最后一行。
gg:移动到这个文件的第一行,相当于1G.
N[Enter]:N为数字,光标向下移动N行。
查找和替换:
/word:向下寻找一个名称为word的字符串。
?word:向上寻找一个名称为word的字符串。
:n1,n2s/word1/word2/g:在第n1行和n2行之间寻找word1这个字符串,并且将其替换为word2.
:1,$s/word1/word2/g:从第一行到最后一行寻找word1这个字符串,并且将其替换为word2.
:1,$s/word1/word2/gc:从第一行到最后一行寻找word1这个字符串,并且将其替换为word2.且在替换前显示提示字符给用户确认是否需要替换。
删除、复制和粘贴:
x,X:在一行字中,x为向后删除一个��符(相当于[Del]键),X为向前删除一个字符(相当于[Backspace])。
dd:删除光标所在的一整行。
ndd:删除光标所在的向下n行。
yy:复制光标所在的一行。
nyy:复制光标所在的向下n行。
p,P:p为将已复制的内容在光标的下一行粘贴,P则为粘贴在光标的上一行。
u:复原前一个操作。
[Ctrl]+r:重做上一个操作。
.:小数点,重复前一个操作。
一般模式切换到编辑模式: