vi文本处理器
Linux与Unix系统中的参数文件几乎都是ASCII码的纯文本文件,因此,利用简单的文本编辑软件可以立刻修改Linux的参数文档。vi是Unix默认的字处理软件,当然,也是Linux默认的字处理软件。vi分为3种模式,分别是“一般模式”、“编辑模式”与“命令行模式”:
①一般模式:以vi处理文件时,一进入该文件就是一般模式了。在这个模式中,可以使用上下左右按键来移动光标,可以使用“删除字符”或“删除整行”来处理文件内容,也可以使用“复制”、“粘贴”来处理文件数据。在一般模式中按下:wq,保存后退出vi。如果文件权限不对,例如为-r--r--r--,那么可能无法写入,可以使用强制写入方式,即使用:wq!,多加一个惊叹号即可。不过,需要特别注意,这只有在您的权限可以改变的情况下才能成立。
②编辑模式:在一般模式下可以处理删除、复制、粘贴等动作,但是却无法编辑。在您按下i,I,o,O,a,A,r,R等字母之后才会进入编辑模式。注意,通常在Linux中,按下上述字母后,在画面的左下方会出现INSERT或REPLACE字样,这才可以输入任何字符写入您的文件中。如果要回到一般模式,必须按下Esc键,才可退出编辑模式。
③命令行模式:在一般模式中,输入“:”或“/”就可以将光标移动到最末一行。在这个模式中,您可以搜寻数据,读取、存盘、大量字符替换、退出vi、显示行号等动作也是在此模式中完成。
常用指令
①一般模式
Ctrl + f 屏幕向前翻动一页
Ctrl + b 屏幕向后翻动一页
0 (这是数字0)移动到这一行的第一个字符处
$ 移动到这一行的最后一个字符处
G 移动到这个文件的最后一行
n<Enter> 光标向下移动n行
/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,且在替换前显示提示符让用户确认(conform)
x, X x为向后删除一个字符,X为向前删除一个字符
dd 删除光标所在的那一整列
ndd 删除光标所在列的向下n列,例如,20dd则是删除20列
yy 复制光标所在行
nyy 复制光标所在列的向下n列,例如,20yy则是复制20列
p, P p为复制的数据粘贴在光标下一行,P则为粘贴在光标上一行
u 恢复前一个动作
②编辑模式
i, I 插入:在当前光标所在处插入输入的文字,已存在的字符会向后退
a, A 添加:由当前光标所在处的下一个字符开始输入,已存在的字符会向后退
o, O 插入新的一行:从光标所在处的下一行行首开始输入字符
r, R 替换:r会替换光标所指的那一个字符;R会一直替换光标所指的文字,直到按下Esc为止
Esc 退出编辑模式,回到一般模式
③命令行模式
:w 将编辑的数据写入硬盘文件中
:w! 若文件属性为只读,强制写入该文件
:q 退出vi
:q! 若曾修改过文件,又不想保存,使用!为强制退出不保存文件
:wq 保存后退出,若为:wq!,则为强制保存后退出
:w [filename] 将编辑数据保存为另一个文件(类似另存新文档)