命令 | 说明 |
vi filename | 打开或者新建文件,并将光标置于第一行首 |
vi +n filename | 打开文件,并将光标置于第n行首 |
vi+ filename/vi+/pattern filename | 打开文件,并将光标置于最后一行/将光标置于第一个与pattern匹配的串处。 |
vi -r filename | 在上次郑使用vi编辑时发生系统崩溃,恢复filename |
vi中很多命令都用到行号及列数等数值。若编辑的文件较大时,自己去数很不方便。vi提供给文本加行号功能,其命令格式如下:在末行方式下输入命令,:se nu(set number的缩写);vi也提供了光标移动的操作,文本模式下,可以直接使用上下左右来移动;命令模式下,可以通过方向键来移动光标,还可以通过h、j、k、l四个键代替4个方向键来移动光标。j是将光标往下移动一行,k是将光标往上移动一行;h与l是在行内进行前后左右移动。此外我们可以 在字母前加数字,则表示移动多少行。3j是向下移动三行,3+是将光标下移3行并将光标移到行首。上移光标使用“-”。L命令将光标移动到当前行的开通,即将光标移到当前行的第一个非空白处。
滚屏命令:“Ctrl+U”组合键:将屏幕向前(文件头)翻滚半屏;“Ctrl+D”组合键:将屏幕向后(文件尾)翻滚半屏
分页命令:“Ctrl+F”组合键:将屏幕向文件尾方向翻滚一整屏;“Ctrl+B”组合键:将屏幕向文件首方向翻滚一整屏
同样也可以再两个命令前加一个数字n,则屏幕向前或向后移动n页。
i命令,实现向文本文件中插入文本作用;a命令,在光标当前位置之后追加新文本;A命令将光标移到所在行的行尾,从那里开始插入新文本。
o命令,该命令将在光标所在行的下面新开一行,并将光标置于该行的行首,并等待输入文本;O命令,是在所在行的上一行出入一行,并将光标置于该行的行首,等待输入。
x命令,删除光标所在处的字符,若在前面加数字,则为删除从光标开始向右的n个字符;X命令,删除当前光标出字符,加数字n,则为删除向左的n个字符。
dd命令,删除光标所在的整行,前面加数字n,表明删除当前行及其后n-1行的内容。
D或者d$删除光标所在处开始到行尾的内容。
u命令,取消刚才的输入命令,恢复到原来你的情况(可以一直取消至刚开始操作的地方);U命令,只能取消前一步的操作,当两次U命令,将不做任何处理。
重复命令(Redo):“.”即可进行重复前面的命令。
当编辑完文件,准备退出vi返回到shell时,可以使用以下几个方法:
在命令行模式中,两次连按大写字母Z,若当前文件被修改,则vi将保存该文件后退出,返回shell;若没修改,则vi直接退出,返回shell。
在末行模式中,输入命令:w。vi保存当前编辑文件,但不退出,而是继续等待用户输入命令;:wq是保存并退出。在使用w命令时,可以再给编辑文件起一个新的文件名。如下: :w newfile.c
vi 命令繁多,以上是vi主要命令总结。记录下来,以便加强记忆。