原创 linux vi编辑器指令

2009-7-11 23:20 2384 8 8 分类: MCU/ 嵌入式

vi全屏幕编辑器


vi(Visual)是以视觉为导向的全屏幕编辑器、共分为三种方式(mode):


command方式:
 任何输入都会作为编辑命令,而不会出现在屏幕上,若输入错误则有“岬”的声音;任何输入都引起立即反



insert方式:
 任何输入的数据都置于编辑寄存器。在command方式下输入(I,a,A等),可进入insert方式,insert方式下按


ESC,可跳回command方式。


escape方式:
以“:”或者“/”为前导的指令,出现在屏幕的最下一行,任何输入都被当成特别指令。




进入vi(在系统提示符下面输入以下指令):


vi           进入vi而不读入任何文件


vi filename      进入vi并读入指定名称的文件(新、旧文件均可)。


vi +n filename    进入vi并且由文件的第几行开始。


vi +filename      进入vi并且由文件的最后一行开始。


vi + /word filename  进入vi并且由文件的word这个字开始。


vi filename(s)     进入vi并且将各指定文件列入名单内,第一个文件先读入。


vedit                        进入vi并且在输入方式时会在状态行显示“INSERT MODE"。





删除指令


nx          删除由光标位置起始的n个字符(含光标位置,按一个x表示删除光标所在的字符)


nX           删除由光标位置起始的n个字符(不含光标位置)。


ndw          删除光标位置其实的n个字符组(word)。


d0           将行的开始到光标位置的字符全部删除。


d$ 或D         将光标位置起始到行尾的字符全部删除。


ndd          将光标位置起始的n行(整行)删除(dd表示删除光标所在行)。


:start,endd      删除文件的第start到end行。



光标移动


[           移到文件开始位置


]           移到文件结束位置


nk          向上移n行


n+          向上移n行,光标在该行的起始


ni           向下移n行


n-          向下移n行,光标在该行的起始


H           移到屏幕的左上角


M           移到屏幕的中间行开头


L           移到屏幕的最后一行


G           移到文件的最后一行


nG或者:n       移到文件的第n行


Ctrl + u       屏幕上卷半个菜单


Ctrl + d        屏幕下卷半个菜单


Ctrl + b        屏幕上卷一个菜单


Ctrl + F        屏幕下卷一个菜单




寻找指令


/text         从光标位置往下找字串text


?text         从光标位置往上找字串text


n           继续找下一个字串(在输入上面的寻找指令之后使用)




寻找并且取代指令


:getxt1/s/ /text2/options   将各行的text1替换为text2


               option=g表示文件中所有的text1均被取代,若未输入任何option,则只有 


              各行中的第一个出现的text1被取代


               option=go 在屏幕显示各取代的行


               option=gc 在每个字串取代之前要求确认 


Start,endgtext1/s/ / text2/options  同上,只寻找并取代第start~end行。 或:Start,ends/text1/text2/options




复制及移动文件


:first,last co dest      将first 到last行的数据复制到目标行(dest)下面


:Start,end m dest      将start 到 end行的数据移动到目标行(dest)下。   


:r filename          将指定文件的内容读入光标所在行下。


nY               将光标所在位置开始的n行数据暂存


p               复制暂存数据在光标的下一行


P               复制暂存数据在光标的上一行



其他命令


.               重复前一指令


u               取消前一指令


Ctrl + l           刷新屏幕显示


:set number          显示文件的行号,但不会存文件


:set nonumber         解除行号显示


 


【2006-07-11 ,sohu blog迁移至此】

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
我要评论
0
8
关闭 站长推荐上一条 /3 下一条