NUC972---- VI编辑器的使用
详细资料请加qq群索取
欢迎加入qq交流群:669495872
1 Vi的模式
Vi 的工作模式可分为命令模式和输入模式,两者之间可以任意切换:
- 命令模式
从键盘上输入的任何字符都被作为编辑命令来解释,vi 下很多操作如配置编辑器、文本查找和替换、选择文本等都是在命令模式下进行的。
- 输入模式
从键盘上输入的所有字符都被插入到正在编辑的缓冲区中,被当作正文。启动 Vi 后处于命令模式,在命令模式下,输入编辑命令,将进入输入模式;在输入模式下,按 ESC 键将进入命令模式,Vi 的模式转换如下图所示。
这里指的编辑命令是指:插入(i 或者 I)、附加(a 或者 A)以及打开(o 或者 O)命令。
2. 启动和关闭 Vi
启动 vi
在 Linux Shell 终端,输入 vi 或者“vi 文件名”即可启动 Vi 编辑器,默认进入命令模式。
# vi
刚启动的 Vi 界面如下图所示。
退出 Vi
在命令模式下输入下面所示的命令都可以退出 Vi 编辑器,回到 Shell 界面。
注意:下面命令中的vi也是要输入的。
- :q 退出未被编辑过的文件
- :q! 强行退出 vi,丢弃所做改动
- :x 存盘退出 vi
- :wq 存盘退出 vi
- ZZ 等同于:wq
3 光标移动
Vi 编辑器的整个文本编辑都用键盘而非鼠标来完成,传统的光标移动方式是在命令模式下输入 h、j、k、l 完成光标的移动,后来也支持键盘的方向键以及 Page Up 和 Page Down翻页键了,并且这些键可在命令模式和输入模式下使用。光标移动示意图如下图所示。
总结一下,在命令模式下光标移动的方法:
- 上:k、Ctrl+P、<up_arrow>
- 下:j、Ctrl+N、<down_arrow>
- 左:h、Backspace、<left_arrow>
- 右:l、Space、<right_arrow>
无论在输入模式下还是命令模式下,都支持 Page Up 和 Page Down 翻页。另外,vi 支持命令快速光标定位,常用命令如下:
- G 将光标定位到最后一行
- nG 将光标定位到第 n 行
- gg 将光标定位到第 1 行
- ngg 将光标定位到第 n 行
- :n 将光标定位到第 n 行
4 .文本输入
在命令模式下输入编辑命令(i/I、a/A、o/O),就可以进入输入模式, 在输入模式下,任何从键盘输入的字符都将被当成正文。
说明:波浪线(~)开始的行表示空行。
进入输入模式的编辑命令有 a/A、i/I 和 o/O,它们之间的差异如下。
- a 在当前光标位置后面开始插入
- A 在当前行行末开始插入
- i 在当前光标前开始插入
- I 在当前光标行行首开始插入
- o 从当前光标开始下一行开始插入
- O 从当前光标开始前一行开始插入
在输入模式下,可以使用键盘上的功能键对文本进行操作,如用退格键删除文本、用方向键移动光标,也可使用翻页键翻页等。
5.文本处理
使用 Vi 能进行高效的文本编辑处理,主要得益于 Vi 提供了丰富的文本处理命令,可在命令模式下进行快速的文本复制、粘贴、删除、剪切、查找、替换、撤销和恢复等操作。
文本块选定
将光标移到将要选定的文本块开始出,按 ESC 进入命令模式,再按 v,进入可视状态,然后移动光标至文本块结尾,被选定的文本块高亮显示。
复制和粘贴
如果已经选定文本块,按 y,即可将所选定文本复制到缓冲区,将光标移到将要粘贴的地方,按 p,就可完成文本粘贴。Vi 提供了很多简便快捷的复制方法,在命令模式下,连按 yy,即可复制光标所在行的内容,连按 yny 即可复制从光标所在行开始的 n 行。例如:y5y,复制光标开始的 5 行内容。
剪切和删除
最后一次剪切和删除的内容都能够被粘贴到其它位置。常用的剪切和删除命令如下:
- x 或 nx 剪切从光标所在的位置开始的一个或 n 个字符
- X 或 nX 剪切光标前的一个或 n 个字符
- dd 删除光标所在的行
- D 删除从光标位置开始至行尾
- dw 删除从光标位置至该词末尾的所有字符
- d0 删除从光标位置开始至行首
- dnd 删除光标所在行开始的 n 行
- dnG 将光标所在行至第 n 行删除