Linux操作系统-vi编辑器

1 阅读4分钟

vi基本介绍

它是 Linux 及其延伸系统内置的文本编辑器,有强大的文本编辑能力。它的核心设计思想:让程序员的手指始终在键盘上就能完成所有的编辑操作。

(一)打开文件和创建文件

它是 linux 的内置命令,所以还是以命令的方式来运行。命令的格式是:vi / 路径 / 文件名。要注意如下两种情况:

  1. 如果这个文件不存在,此时就是新建文件,编辑器的左下角会提示:new file。
  2. 如果文件已经存在,此时就打开这个文件,进入命令模式。
  3. vi 的后面有个空格。

三种模式

vi 编辑器有三种工作模式,分别是命令模式编辑模式底线模式

命令模式:在这个模式下,所敲的按键编辑器都理解为命令,以命令来驱动执行不同的功能。请注意在这个模型下不能进行文本编辑。当我们通过 VI 命令第一次打开文件的时候,进入的就是命令模式。

编辑模式:此时我们可以修改文件。

底线命令模式: 以:开始通常用于文件的保存和退出。

image.png

(二)从命令模式进入输入模式

(1)按下 i:进入编辑模式,定位到当前光标前面。

(2)按下 o:进入到编辑输入模式后,在当前行的后面添加一行空行(当前行的下一行)

(3)在输入模式下,按下 ESC 退回到命令模式。

(三)从命令模式切换到底线命令模式

在命令模式时输入:进入底线命令模式。

常用的底线命令有:

(1):q 退出

(2):w 保存

(3):wq 保存退出

(4):wq! 强制保存退出

提示:在命令模式下按下 shift + zz 也可以实现快速保存退出。

案例1

  1. 创建一个名为a.txt的文件,进入命令模式:

image.png

命令模式:

image.png

  1. 按下i,进入编辑模式:

image.png

  1. 输入hello vi,然后按esc退回命令模式,最后输入:wq保存

image.png

  1. 使用cat命令查看a.txt的内容:

image.png

(四)光标操作

由于没有鼠标,我们的操作都是用键盘来控制光标的。具体如下。在命令模式下:

  1. 方向键控制移动。
  2. pageup,pagedown 控制翻页。
  3. Home 键可以快速定位到行首,End 键可以快速定位到行尾。
  4. 按下 G 键(大写 g)可以跳到文件的最后一行。
  5. 按下 gg 键(两个小 g)跳到文件的第一行。

(五)复制粘贴

注意:在命令模式下才能做复制和粘贴。

(1)复制

  1. yy(两个小 y):用来复制光标所在当前行内容
  2. nyy(n + 两个小 y):用来复制当前行往下 n 行。例如 3yy 就是复制3 行内容。

(2)粘贴

  1. p(小写 p)在当前行的下一行粘贴
  2. P(大写 p)在当前行的上一行粘贴

(3)删除

删除命令也分删除单行和删除多行。具体如下:

  1. dd(两个小 d):用来删除光标所在当前行内容
  2. ndd(n + 两个小 d):用来删除当前行往下 n 行。例如 3dd 就是删除 3 行内容。

(4)撤销、反撤销

  1. u:撤销上一步的操作
  2. ctrl+r:反撤销(重做上一步的操作)

案例二

  1. 创建名为b.txt的空文件,输入vi b.txt,按i进入输入模式,输入hello world

image.png

  1. 按esc进入命令模式,按yy复制hello world,输入6p或者6yy

image.png

  1. 用cat查看b.txt的内容

image.png