linux vi 编辑必会命令
vi编辑器是所有Unix及Linux系统下标准的编辑器,它十分强大,但是由于其命令较多,掌握起来不是很便捷,为此总结一下最为常用的命令,学会它后,您可以再继续掌握其他更为强大的命令,最终会令你在Linux的世界里独步畅行。
vi的基本概念
基本上vi可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:
1) 命令行模式command mode)
控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode。
2) 插入模式(Insert mode)
只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。
3) 底行模式(last line mode)
将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号……等。
不过一般我们在使用时把vi简化成两个模式,就是将底行模式(last line mode)也算入命令行模式command mode)。
1、新建文件vi的命令$
vi filename : 新建文件,比如:vi hello.c 。进入编辑模式后,文件处于命令行模式,此时常用命令如下:
i:在当前字符前插入文本;
a:在当前字符后添加文本;
按下上述字符后,光标处可以输入字符。
期间,如果需要删除当前行,可以使用
dd删除光标行正行内容;
A:在行末添加文本;
I:在行首插入文本;
编辑完毕,按下ESC键,激活命令模式,按下:号,输入wq,执行存盘退出。例如::wq
:set nu 表示在命令模式下,set number用于在最左端显示行号;
:w 表示在命令模式下,执行存盘操作;
:q 表示在命令模式下,执行退出vi操作;
2、打开文件编辑:
vi filename :打开文件,并将光标置于第n行首;比如:vi hello.c 打开或新建hello.c, vi +10 hello.c 表示打开已有文件,并使光标置于第10行。
3、移动光标类命令
打开或新建文件后,进入命令模式(或通过按ESC进入命令模式),此时可以使用字符键或光标键移动光标。
h :左移一个字I符
l :右移一个字符
space:光标右移一个字符
Backspace:光标左移一个字符
k或Ctrl+p:光标上移一行
j或Ctrl+n :光标下移一行
Enter :光标下移一行
w或W :光标右移一个字至字首
b或B :光标左移一个字至字首
e或E :光标右移一个字至字尾
) :光标移至句尾
( :光标移至句首
}:光标移至段落开头
{:光标移至段落结尾
nG:光标移至第n行首
n+:光标下移n行
n-:光标上移n行
n$:光标移至第n行尾
H :光标移至屏幕顶行
M :光标移至屏幕中间行
L :光标移至屏幕最后行
0:(注意是数字零)光标移至当前行首
$:光标移至当前行尾
4、插入文本类命令
在命令模式下,按下如下字符:
i:在光标前插入插入字符
I:在当前行首 插入字符
a:光标后
A:在当前行尾
5、删除命令
dd删除光标行正行内容;
6、最后行方式命令
:w:保存当前文件
:wq :保存当前文件,并退出
:x:保存当前文件并退出
:q:退出vi
:q!:不保存文件并退出vi
shift+zz:保存并退出