Linux基础——vi/vim编辑器

8、 Vi/Vim编辑器

8.1 VI/VIM是什么?

VI 是 Unix 操作系统和类 Unix 操作系统中最通用的文本编辑器。

VIM 编辑器是从 VI 发展出来的一个性能更强大的文本编辑器。可以主动的以字体颜色辨别语法的正确性,方便程序设计。VIM 与 VI 编辑器完全兼容。

vi和vim存在与根目录下的bin文件中。

8.2 使用 vi和vim编辑器打开文件

在主文件夹中copy一个文本文件到桌面上,这里我copy了initial-setup-ks.cfg

进入桌面文件需要输入中文,这就需要添加中文拼音输入法了。

进入设置,找到Region&Language

image-20220721154221321

第二步,选择汉语中国

image-20220721154312220

第三步,选择第一项,它是汉语的拼音输入

image-20220721154409278

在终端操作的时候,按下快捷键Super+空格可以切换输入法

cd 桌面  #进入桌面文件夹
vim initial-setup-ks.cfg #使用vim编辑器打开该文件
:q                       #退出vim编辑器

vi打开文件也是同样的方式

vi initial-setup-ks.cfg
8.3 vim编辑器的模式

在我们打开文件后可以发现,我们只能通过上下左右键进行移动光标位置,而不能对内容进行修改。那是因为打开文件后默认为一般模式,在该模式下我们是不能编辑文本的。

下图为vi/vim的模式转换方式:

image-20220721161134334

由上图我们可以得出:vi/vim编辑器有三种模式:一般模式(默认)编辑模式命令模式

  • 一般模式主要的操作有:删除、复制和粘贴
  • 编辑模式主要的操作就是编辑文本(添加和修改)
  • 命令模式可以通过对应的指令进行对应的操作,例如:q退出编辑器
  • 在vi/vim的编辑模型中,一般模式(普通模式)是编辑模式的核心模式:
    1. 进入文件后为一般模式
    2. 通过一般模式可以转换为其他两种模式
  • 一般模式进入编辑模式:通常输入小写i进入编辑模式
  • 输入:/进入命令模式,其中:常用
  • 编辑模式和命令模式退出到一般模式按下ESC键即可
8.4 vim模式间的操作

多个模式联合操作:

1.输入i进入编辑模式

2.修改或添加内容

3.按下ESC到一般模式

4.将修改的内容保存,写入内存。转换到命令模式:w

5.如果想要回退到未修改的时候,按下u键进行回退到最旧的改变。

6.:q退出编辑页面

8.5 单个模式的详细操作
  1. 普通模式

    以 vi/vim 打开一个档案就直接进入一般模式了(这是默认的模式)。在这个模式中, 你可 以使用『上下左右』按键来移动光标,你可以使用『删除字符』或『删除整行』来处理档 案内容, 也可以使用『复制、粘贴』来处理你的文件数据。

    语法:

    image-20220721164159340复制粘贴操作:

    复制一行:直接yy复制当前光标所在的那一行

    粘贴一行:在需要粘贴的地方按下p粘贴

    粘贴多次:将复制的内容粘贴多行(次),先输入一个数字(你粘贴的次数),然后按下p可以在当前行下粘贴输入数字的次数。例如在当前行下,粘贴5行。5p

    复制多行:从光标所在的行开始直到该行下面你输入的行数为止。例如,我要复制8行,它会从光标这行开始,直到下面的第8行。8yy

    image-20220721165034667

    然后我们再将复制的内容粘贴出来p

    image-20220721165132519

    如果我们要复制行内的内容:

    复制当前位置到行尾:对光标位置到行尾的内容进行复制y+shift+4(不包括当前光标位置的内容)

    复制当前位置到行头:对光标位置到行尾之间的内容进行复制y+shift+4(不包括当前光标位置的内容)

    外部内容ctrl+c复制,在vim编辑模式下ctrl+shift+v粘贴

    删除操作:

    删除当前行:dd

    删除多行:dxdxdd(这里的x是代表一个数字)

    删除一个词:dw,当前位置到词尾。一般删除一个单词最好从词头开始删(把光标放在词头)

    删除当前位置到行尾的内容:d+shift+4

    删除当前位置到行头的内容:d+shift+6

    替换操作:

    替换一个字符:当前光标位置内容R+替换的内容

    替换多个内容:shift+R进入替换模式,修改完后可以按下esc退出

    文档光标的移动:

    移动到文档的头部:shift+H或者gg

    移动到文档的尾部:shift+G

    跳转到下一个词的词头:ww

    跳转到下一个词的词尾:ee

    跳转到上一个词的词头:bb

    跳转到指定行:数字+shift+G

    如果不知道当前的行号,可以使用命令模式的命令::set nu开启行号

    如果你不需要行号,感觉碍事,可以使用命令::set nonu关闭行号

  2. 编辑模式

    只需要在普通模式按下i就进入了编辑模式

    在编辑模式中对文本的操作和windows中的文本文件的操作是类似的。

    进入编辑模式的方式:

    image-20220721173800645

    退出编辑模式直接按ESC

  3. 命令模式

    在一般模式下,按:或者/就可以输入一些命令对文档进行操作

    比如:

    ​ 退出::q,写入内存::w

    命令模式下的语法:

    image-20220721174306321

    扩展:

    :wq             保存并退出
    :q!				不包存强制退出
    :s/old/new		替换当前行匹配的第一个old为new
    :set/old/new/g 	替换当前行匹配到的所有old为new
    :%s/old/new 	替换文档中每一行匹配到的第一个old为new
    

Vi/Vim键盘图:

image-20220721175808663

posted @ 2022-10-21 08:49  travellerα  阅读(37)  评论(0)    收藏  举报