在Linux的系统中使用文本编辑器来编辑你的linux参数配置文件可是一件很重要的事情;在Linux的世界里,绝大部分的配置文件都是以ascll的纯文本形式存在的,因此利用简单的文字编辑软件就可以修改配置了;而所谓的纯文本文件,就是记录1和0的文件记录。
vi基本上共有三种模式:一般模式,编辑模式与命令行模式:
一般模式:可以上下左右移动光标,可以删除字符或者删除整行,亦可以复制粘贴你的文件数据;
编辑模式:可以进行文件内容的编辑,当我们按下i,L,o,O,a,A,r,R等任何字符进行编辑模式。通常在linux中,按下这些快捷键时,界面左下方会出现INSERT或REPLACE的字样,此时才可以进行编辑。而如果要回到一般模式时,则必须要按下ESC即可退出编辑模式;
命令行模式:在一般模式当中,输入“:, /, ?”三个中的任何一个按钮,就可以将光标移动到最下面一行,在这个模式中,可以提供你查找数据的操作,而读取,保存,大量替换字符,离开vi,显示行号等的操作则是在此模式中完成的;
一般模式与编辑模式及命令模式可互相切换,但编辑模式与命令行模式之间不可以互相切换。
按键说明:
在一般模式中,可用的按钮说明,光标移动,复制粘贴,查找替换等
移动光标的方法:
h:左移
j:下移
k:上移
l:右移
如果想要移动多次的话,例如向下移动30行,可以使用30j的组合键
ctrl+f:屏幕向下移动一页
ctrl+b:屏幕向上移动一页
ctrl+d:屏幕向下移动半页
ctrl+u:屏幕向上移动半页
0或者home:移动到这一行的最前面的字符处
G:移动到这个文件的最后一行
nG:n为数字。移动到这个文件的第n行
gg:移动到文件的第一行,相当于1G
N[ENTER]:N为数字。光标向下移动n行
查找与替换:
/word:向下寻找一个名称为word的字符串
?word:向上寻找一个字符串名为word的字符串
n:重复前一个查找的操作
N:与n刚好相反
:n1,n2s/word1/word2/g:n1与n2为数字。在第n1和第n2之间寻找word1这个字符串,并将该字符串替换成
word2.
:1,s/word1/word2/g:从第一行到最后一行查找word1字符串,并将该字符串替换成word2:1,s/word1/word2/g:从第一行到最后一行查找word1字符串,并将该字符串替换成word2:1,s/word1/word2/gc:从第一行到最后一行查找word1字符串,并将该字符串替换为word2.且在替换前
显示提示字符给用户(confirm)是否需要替换
删除,复制,粘贴
x,X:在一行字当中,x为向后删除一个字符,X为向前删除一个字符
dd:删除光标所在的那一整行
ndd:删除光标所在的向下的n行,
yy:复制光标所在的那一行
nyy:复制光标所在的向下的n行
p,P:p为将已经复制的数据在光标下一行粘贴,P则为在光标的上一行
u:复原前一个操作
ctrl+r:重做上一个操作
.:重复前一个操作
一般模式切换到编辑模式的可用按钮说明:
i:从目前光标所在处插入;L:在目前所在行的第一个非空格符处开始插入
a:从目前光标所在的下一个字符处开始插入;A:为从光标所在行的最后一个字符处开始插入
o:在目前所在光标下一行处插入新的一行;O:在目前所在光标所在处的上一行插入新的一行
r:只会替换光标所在的那一个字符一次;R:会一直替换光标所在的文字,直到按下esc键为止
ESC:推出编辑模式,回到一般模式
一般模式切换到命令行模式
:w:将编辑的数据写入到硬盘文件中
:q:离开vi
:q!:若修改过文件,又不想存储,则强制离开不保存文件
:wq:包车后离开
:wq!:强制保存后离开
ZZ:若文件没有更动,则不保存离开,若文件已经被更动,则保存后离开
命令行的保存,离开等命令
:set nu:显示行号,设置之后,会在每一行的前缀显示该行的行号
:set nonu:与set nu相反,为取消行号
vim的保存文件,恢复与打开时的警告信息:
由于vim的工作被不正常的中断,导致暂存盘无法通过正常流程来结束,所以暂存文件就不会消失,而继续保留下来
kill -9 %1:用于模拟断线停止 vim工作
vim具有颜色显示的功能,支持许多的程序语法,因此,当时用vim编辑程序的时候,vim将可帮你很快的进行程序除错的功能
块选择:当我们按下v或者V或者ctrl+v时,这个时候光标移动过的地方就会开始反白,这三个按钮的意义如表:V:字符选择或者行选择,会将光标经过的行或者地方进行反白
ctrl+v:块选择:可以用长方形的方式来选择数据
y:将反白的地方复制起来
d:将反白的地方删除