Linux Vim编辑器
vi编辑器
vi是Linux系统的第一个全屏幕交互式编辑器,vi的名字是Visual Interface的简称,可以执行输入、输出、删除、查找、替换、快操作等操作。
vi有3种基本工作模式:命令行模式、编辑模式、末行模式
1.命令行模式
在shell中敲入vi进入的vi编辑器模式就是命令行模式,在其他两种模式下,按下Esc,进入的模式也是命令行模式
2.编辑模式
在命令模式下输入插入命令i,附加命令a,打开命令o,修改命令c,取代命令r或者替换命令s都可以进入文本输入模式
3.末行模式
末行模式也称为ex转义模式,多数文件管理命令是在此模式下执行的
vi编辑器的三种工作模式的转换关系如下
在命令行模式下,输入命令a或者i,可以进入到文本编辑模式
在文本编辑模式下,按Esc,可进入命令行模式
在命令行模式下,输入:,可进入末行模式
启动vi编辑器
命令 | 说明 |
---|---|
vi filename | 打开或新建文件,光标置于第一行 |
vi+n filename | 打开或新建文件,光标置于第n行(注意:+左右侧都是有空格的) |
vi + filename | 打开或新建文件,光标置于最后一行(注意:+左右侧都是有空格的) |
vi +/pattern filename | 打开文件,并将光标置于第一个与pattern匹配的串处 |
vi -r filename | 在上次使用是发生系统崩溃,恢复filename |
vi filename1,filename2 | 连续打开多个文件,依次进行编辑 |
显示vi当中的行号
在末行模式下,输入se nu或者set nu命令,可以显示每行的行号
光标移动操作
在文本输入模式下,可以通过上下左右的方向键来移动光标
在命令行模式下,可以通过hjkl这四个键来代替方向键移动光标
屏幕命令
1.滚屏命令
(1)Ctrl+U将屏幕向前翻滚半屏
(2)Ctrl+D将屏幕向后翻滚半屏
*可以在这两个命令前加一个数字,表示屏幕向前或向后翻滚n行,这个值将会被系统记住,下次使用Ctrl+U或者Ctrl+D命令是,会自动翻滚n行
2.分页命令
(1)Ctrl+F将屏幕向文件尾方向翻滚一整屏(一页)
(2)Ctrl+B将屏幕想文件首方向翻滚一整屏(一页)
3.状态命令
Ctrl+G,查看vi状态行上的状态信息
4.屏幕调零命令
8z16<回车>:将文件中的第8行作为屏幕显示的首行,并一共显示16行
15z.:将文件中的第15行作为屏幕显示的中间行,显示行数为整]
15z 5_:将文件中的第15行作为屏幕显示的最末行,显示行数为5行
文本插入命令
vi编辑器提供了两个插入命令i和I
i 从当前光标所在位置开始插入
I 移动到当前行的行首,开始插入
附加命令
vi提供了两个附加插入命令:a和A
a从当前光标所在位置开始插入命令
A把光标挪到所在行的行尾,开始插入文本
打开命令
o在光标所在行的下面新开一行,输入文本,删除字符对于之前的字符不起作用
O在光标所在行的上面新开一行,输入文本
文本修改命令(删除)
(1)删除单个字符
x删除光标处的字符
X删除光标前的字符
(2)删除多个字符
dd删除光标所在的行
D删除从光标所在处至行尾的内容
d0删除从光标所在处至行首的内容
dw删除一个单词
vi编辑器可以保存9次用dd命令删除的内容,使用np命令可以恢复
文本修改命令(Undo取消)
u无限次撤销,直到恢复为起始状态
U仅支持一次撤销
文本修改命令(Redo 重复)
**.**重复上一次操作所执行的命令
退出vi(exit)
(1)两次Z,可以保存退出
(2) :w 保存文件 :w newfile另存一个newfile文件
:q直接退出 :wq保存退出 :q!强制退出 :x同ZZ
设置vi
vi可以通过配置文件来进行默认配置。全局配置文件位于/etc/vim/vimrc
每个人也可以有自己独立的配置文件,独立配置文件位于~/.vimrc中
其他文本编辑器
Linux系统除了vi编辑器以外,还有很多其他的编辑器,例如桌面环境下的编辑器(KDE的kwrite、GNOME的gedit等)