vi 编辑器有 3 种基本工作模式,分别是命令模式、文本输入模式和末行模式。
命令行模式是进入 vi 编辑器后的默认模式。不管用户处于何种模式,按下ESC键即可进入命令模式。
文本输入模式命令模式下输入插入命令i、附加命令a、打开命令o、修改命令c、取代命令r或替换命令s都可以进入文本输入模式。
末行模式:也称 ex 转义模式。在命令模式下,用户按 : 键即可进入末行模式下,此时 vi 会在显示窗口的最后一行(通常也是屏幕的最后一行)显示一个:作为末行模式的说明符,等待用户输入命令。
三种模式之间的转换
打开文件 vi filename
打开所有 .log文件 vi *.log
插入文本命令I 和 i:
i将文本插入到光标所在的位置前;
I将文本一直插入到行首位置;
追加文本a和A:
a将文本追加到光标位置后;
A将文本一直插入到行尾;
空行插入命令o和O:
o 命令将在光标所在行的下面插入一个空行,并将光标置于该行的行首。
O 命令在光标所在行的上面插入一个空行,并将光标置于该行的行首。
文本删除命令:
可以在编辑模式和命令模式下删除文本。传统的文本删除是在编辑模式下,使用退格键或 Del 键删除文本。在命令模式下,vi 提供了许多删除命令。删除文本的命令可以分为删除单个字符和删除多个字符两类。其中,删除单个字符的命令包括下面两种情况。
删除多个字符的命令包括下面几种情况。
文本赋值命令
vi 编辑器可以在编辑模式和命令模式下复制文本。
与文本复制有关的命令分为两类。
1. 文本粘贴命令
p 命令:粘贴命令,粘贴当前缓冲区中的内容。
2. 文本选择命令
v 命令:在命令模式下进行文本选择。在需要选择的文本的起始处按下 v 键进入块选择模式,然后移动光标到块尾处。这之间的部分被高亮显示,表示被选中。
V 命令:在命令模式下按行进行文本选择。在需要选择的文本的第一行按下 V 键,然后移动光标到块的最后一行。这之间的所有行被高亮显示,表示被选中。
撤销命令:
重复命令:
再执行一次前面刚完成的某个复杂的命令。重复命令只能在命令模式下工作,在该模式下按下.键即可。
退出命令:
退出 :q q!
另存为 :w 新文件名
保存退出 :wq
字符替换命令:
r替换光标所指的字符;
R 进入replace模式,每个输入的字符都会替换当前光标下的字符;
光标移动命令:
hjkl
光标可以安行移动,一次移动一行或多行。
(移动光标还有更多命令,可以扩展学习)
屏幕滚动命令:
字符检索命令:
/string 从光标处开始向后寻找字符串string
?string 从光标处开始向前寻找字符串string
g/命令使光标停止在第一个检索到的 string 串的行首。
Vi属性设置命令:
设置行号 :set nu(nonu)
显示设置命令 :set hlsearch(nohlsearch)
语法缩进命令 :set autoindent
文件存储命令 :set backup(nobackup)
显示选项命令 :set all
语法高亮命令 :syntax on(off)
大小写区分命令 :set ignorecase(noignorecase)
【参考】
https://blog.csdn.net/weixin_42499593/article/details/86186595
http://c.biancheng.net/view/519.html