vi文字处理器是Linux系统中最常用也是功能最强大的文字编辑器,它有三种模式,分别是:一般模式,编辑模式和命令模式。用vi打开文件时默认进入一般模式。
这三种模式可以相互转换:一般模式下通过iI)、oO)、aA)、rR)可以进入编辑模式,通过:?/可以进入命令模式,在编辑模式下通过Esc可以进入一般模式。命令模式时会在屏幕的最下方出现一个:,等待命令的输入。
i是插入,会在目前的光标所在处插入文字,已存在的文字会向后退,I则是在行首插入文字;a是增加,会在光标所在的字的下一个字开始输入,存在的字会向后退,A是在光标所在行的最后开始增加;o是插入新的一行,会在光标所在的下一行行首开始输入,O是在上一行行首开始输入;r是取代,会取代光标所在的那一个字符,R会一直取代光标所在的字符,直到Esc为止。
h和左箭头是向左移动一个字符,j和下箭头是向下移动一个字符,k和上箭头是向上移动一个字符,l和右箭头是向右移动一个字符,数字0移动到光标所在行的第一个字符,$移动到所在行的最后一个字符;G移动到文件的最后一行,nG就是移动到第n行,gg移动到第一行,相当于1Gn<Enter>是光标向下移动n行,n<space>是向后移动n个字。
复制和粘贴.
yy复制光标所在的那一行,nyy复制光标向下n行。p在光标下一行粘贴,P在光标上一行粘贴。
撤销和查找。
u复原前一个动作,Ctrl+r重做前一个动作,:e!还原至初始状态;/word是光标之后查找一个word字符串,?word是光标之前查找,n是重复前一个搜寻动作,N是反向进行前一个搜寻动作,也就是向下和向上的反向。
删除。
x向后删除一个字符,X向前删除一个字符,nx向后删除n个字符,dd删除光标所在的一整行,ndd删除光标向下的n行,d1G删除光标以前所有字符,dG删除光标以后所有字符。
替换。
:n1n2s/word1/word/g,在第n1行到n2行之间寻找word1字符串,并将其替换为word2字符串,g=global:1$s/word1/word2/g,从第一行搜索至最后一行寻找word1字符串,并将其替换为word2字符串;:1.$s/word1/word2/gc,从第一行搜索至最后一行寻找word1字符串,并将其替换为word2字符串,取代前显示提示字符cconform)提示是否替换;:%s/word1/word2/g,全文替换。
保存和另存为。:w将编辑的数据存盘,:w!,当文件是只读属性时,强制存盘。:w filename将编辑的数据储存为另外一个文件,:n1n2 w filenamen1n2的内容保存为filename这个文件。
退出和保存退出。:q离开vi:q!编辑过文件后强制离开不存储,:wq储存后离开,:wq!强制储存后离开,:x保存并退出。
向上和向下翻页。Ctrl+b或者Pgup向上翻页,Ctrl+f或者Pgdn是向下翻页。
一些命令。:rfilename】,在编辑的数据中读入另外一个文件,将filename这个文件的内容加入到光标所在行的下面。:set nu显示行号,:set nonu为取消行号。:command暂时离开vi到指令列模式下执行command的显示结果。
vi的附加功能。v字符选择,将光标经过的地方反白选择,V行选择,将光标经过的行反白选择,Ctrl+v块选择,用长方形的方式选择数据,y复制反白的地方,d将反白的地方删除掉。vi没有反白操作,Vim有。
多文件编辑。:n编辑下一个文件,:N编辑上一个文件,:files列出当前Vim打开的所有文件,vi或者CRT的这些功能都不太好使,Vim可以