vi,vim编辑器

vi与vim
vi编辑器是所有Unix及Linux系统下标准的编辑器,他就相当于windows系统中的记事本一样,它的强大不逊色于任何最新的文本编辑器。他是我们使用Linux系统不能缺少的工具。由于对Unix及Linux系统的任何版本,vi编辑器是完全相同的,学会它后,您将在Linux的世界里畅行无阻。
vim 具有程序编辑的能力,可以以字体颜色辨别语法的正确性,方便程序设计;
因为程序简单,编辑速度相当快速。

vim可以当作vi的升级版本,他可以用多种颜色的方式来显示一些特殊的信息。

vim会依据文件扩展名或者是文件内的开头信息, 判断该文件的内容而自动的执行该程序的语法判断式,再以颜色来显示程序代码与一般信息。
vim里面加入了很多额外的功能,例如支持正则表达式的搜索、多文件编辑、块复制等等。 这对于我们在Linux上进行一些配置文件的修改工作时是很棒的功能。

为何要学 vi
所有的Unix Like系统都会内建vi文本编辑器,其他的文本编辑器则不一定会存在;
一些软件的编辑接口会主动调用vi (例如 crontab, visudo, edquota 等命令);

vi的使用
基本上vi可以分为三种状态,
分别是一般模式、编辑模式和命令行模式,各模式的功能区分如下:

一般模式:
以vi打开一个文件就直接进入一般模式了(这是默认的模式)。在这个模式中, 你可以使用上下左右按键来移动光标,你可以使用删除字符或删除整行来处理文件内容, 也可以使用复制、粘贴来处理你的文件数据。(回退)

编辑模式:
在一般模式中可以进行删除、复制、粘贴等的操作,但是却无法编辑文件的内容,只有当到你按下【i, I, o, O, a, A, r, R】等任何一个字母之后才会进入编辑模式。这时候屏幕的左下方会出现【INSERT或 REPLACE】的字样,此时才可以进行编辑。而如果要回到一般模式时, 则必须要按下【Esc】即可退出编辑模式。

命令行模式:
输入【 : / ? 】三个中的任何一个,就可以将光标移动到最底下那一行。在这个模式中, 可以提供查找、读取、存盘、替换字符、离开vi、显示行号等的动作则是在此模式中完成的!

平时用的最多的vi命令:
移动光标的方法:
[Ctrl]+[f]:屏幕向下移动一页,相当于[PageDown]按键。forward
[Ctrl]+[b]:屏幕向上移动一页,相当于[PageUp]按键。back
0或功能键[Home]:移动到这一行的最前面字符处。
$或功能键[End]:移动到这一行的最后面字符处。
G:移动到这个文件的最后一行。
gg:移动到这个文件的第一行,相当于1G.
N[Enter]:N为数字,光标向下移动N行

删除、复制和粘贴:
x,X:在一行字中,x为向后删除一个字符(相当于[Del]键),X为向前删除一个字符(相当于[Backspace])。
dd:删除光标所在的一整行。
ndd:删除光标所在的向下n行。
yy:复制光标所在的一行。
nyy:复制光标所在的向下n行。
p,P:p为将已复制的内容在光标的下一行粘贴,P则为粘贴在光标的上一行。
u:复原前一个操作。
[Ctrl]+r:重做上一个操作。
.:小数点,重复前一个操作。

查找和替换:
/word:向下寻找一个名称为word的字符串。
?word:向上寻找一个名称为word的字符串。
:n1,n2s/word1/word2/g:在第n1行和n2行之间寻找word1这个字符串,并且将其替换为word2.
:1, s / w o r d 1 / w o r d 2 / g : 从 第 一 行 到 最 后 一 行 寻 找 w o r d 1 这 个 字 符 串 , 并 且 将 其 替 换 为 w o r d 2. : 1 , s/word1/word2/g:从第一行到最后一行寻找word1这个字符串,并且将其替换为word2. :1, s/word1/word2/gword1word2.:1,s/word1/word2/gc:从第一行到最后一行寻找word1这个字符串,并且将其替换为word2.且在替换前显示提示字符给用户确认是否需要替换。

一般模式切换到编辑模式:
i,I:进入插入模式,i为从目前光标所在处插入。I为在目前所在行的第一个非空格字符处开始插入。
a,A:进入插入模式。a为从目前光标所在处的下一个字符处开始插入。A为从所在行的最后一个字符处开始插入。
o,O:进入插入模式。o为在下一行插入。O为在上一行插入。
r,R:进入替换模式。r只替换光标所在那个字符一次。R会一直替换光标所在字符,直到按下Esc键。

一般模式切换到命令行:
:w:将编辑的数据写入到硬盘中。
:q:离开vi.后面加!为强制离开。
:wq:保存后离开。
:wq! 为强制保存后离开。
:set nu 设置显示行号
:set nonu 取消行号
:w 新文件名 另存为新文件名
:n1,n2 w 新文件名 将第n1行到n2行的内容另存为新文件名
:r 文件名A 将文件A中的内容读入到当前文件中

目前主要的编辑器都有恢复功能,vim也不例外。vim是通过“保存”文件来挽回数据的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值