(一)vi 基本介绍
它是 unix 及其延伸系统内置的文本编辑器,有强大的文本编辑能力。它的核心设计思想:让程序员的手指始终在键盘上就能完成所有的编辑操作。学习它的最大的挑战是:万物皆命令。还要克服 window 下的鼠标便利。
(二)打开文件与创建文件
它是 linux 的内置命令,所以还是以命令的方式来运行。命令的格式是:vi /路径/文件名。要注意如下两种情况:
- 如果这个文件不存在,此时就是新建文件,编辑器的左下角会提示:
new file。 - 如果文件已经存在,此时就打开这个文件,进入命令模式。
vi的后面有个空格。
(三)三种模式
vi 编辑器有三种工作模式,分别是命令模式、编辑模式、底线模式。下面我们分别来介绍他们的使用场景。
- 命令模式:在这个模式下,所敲的按键编辑器都理解为命令,以命令来驱动执行不同的功能。请注意在这个模型下不能进行文本编辑。当我们通过 VI 命令第一次打开文件的时候,进入的就是命令模式。
- 编辑模式:此时我们可以修改文件。
- 底线命令模式:以
:开始,通常用于文件的保存和退出。
来,我们实操一下,如何从命令模式进入输入模式?
- 按下
i:进入编辑模式,定位到当前光标前面。 - 按下
o:进入到编辑输入模式后,在当前行的后面添加一行空行(当前行的下一行)。 - 在输入模式下,按下
ESC退回到命令模式。
从命令模式切换到底线命令模式,输入
: 进入底线命令模式。常用的底线命令有:
:q退出:w保存:wq保存退出:wq!强制保存退出
保存结果如下
(四)光标操作
由于没有鼠标,我们的操作都是用键盘来控制光标的。具体如下。在命令模式下:
- 方向键控制移动。
pageup、pagedown控制翻页。Home键可以快速定位到行首,End键可以快速定位到行尾。- 按下
G键(大写 g)可以跳到文件的最后一行。 - 按下
gg键(两个小 g)跳到文件的第一行。
(五)复制粘贴
在命令模式下才能做复制和粘贴。
-
复制复制的命令是
yy。具体来说:yy(两个小 y):复制光标所在行的内容。nyy(n + 两个小 y):复制当前行往下 n 行内容,例如3yy就是复制三行。
-
粘贴
p(小写 p):在当前行的下一行粘贴。P(大写 P):在当前行的上一行粘贴。