【数媒在线课堂】Linux 笔记:使用 Vim 编辑器

2025-02-21ASPCMS社区 - fjmyhfvclm

Vim 基础

Vim 编辑器在内存缓冲区处理数据。只要键入 vim 命令和你要编辑的文件的名字,即可启动 Vim 编辑器。 如在启动 Vim 时未指定文件名,或者这个文件不存在,Vim 会新开一段缓冲区域来编辑;如果命令指定了一个已有的文件的命令,Vim 会将文件的整个内容都读到一块缓冲区域来准备编辑。

Vim 编辑器有两种操作模式:

  • 普通模式;
  • 插入模式

当打开要编辑的文件时,Vim 编辑器会进入️普通模式。在普通模式下,Vim 编辑器会将按键解释成命令; 在编辑模式中,按下 i 键,进入️插入模式。插入模式下,每个按键都将输入到光标位置的缓冲区。按 Esc 键即可退出插入模式;

在普通模式中,可以用方向键来在文本区域移动光标,如果是在一个没有定义方向键的终端上,还可以使用如下按键移动:

在大的文本文件中一行一行的移动会特别麻烦。幸而 Vim 提供了一些命令来帮助提高速度:

Vim 编辑器在普通模式下有个特别的功能叫️命令模式。命令模式提供了一个可供输入额外命令来控制 Vim 中行为的交互式命令行。要进入命令模式,在普通模式下按下冒号键。光标会移动到消息行,冒号出现,等号输入命令。 在命令模式下有几个命令来将缓冲区的数据保存到文件中并退出 Vim:

编辑数据

在普通模式下,Vim 编辑器提供了一些命令来编辑缓冲区中的数据。常用号命令有:

复制和粘贴

现代编辑器的标准功能之一就是剪切或复制数据,Vim 中剪切复制相对容易些。 上面已经有了删除数据的操作,Vim 删除数据时,实际上它会将数据保存在单独的一个寄存器中。可以同 p 命令来取回数据。 简而言之,用 dd 删除一行文本,然后把光标移动到某个要放置该行文本的位置,之后用 p 命令。p 命令会将文本插入到当前光标所在行之后。p 命令可以和任何删除文本的命令一起搭配使用。 Vim 中复制命令是 y (代表 yank)。y 命令和 d 命令有相同的第二字符 (如 yw 表示复制单词,y$ 表示复制到行尾)。在复制文本后,输入 p 命令表示粘贴。 但是这样复制有个比较烦恼的问题,就是你没有看见到底复制了什么,除非粘贴出来才知道。Vim 还有个功能解决了这个问题,️可视模式会在移动光标时高亮文本,因此可以用可是模式来复制文本,方法如下: 移动光标到要开始复制的位置,按下 v 键,光标所在位置的文本会被高亮显示,移动光标覆盖想要复制的文本。覆盖后按 y 键来激活复制命令。现在寄存器中已经有了要复制的文本,使用 p 命令到合适的位置粘贴即可。

查找和替换

要查找某个字符串,在命令模式下,键入斜杠 (/) 加查找字符串 (比如查找字符串 class:/class),按下 Enter 键,光标会跑到消息行。在输入要查找的文本后,按下 Enter 键,Vim 编辑器会有 3 中回应:

  • 如果光标当前位置之后有你要查找的文本,则光标会跳到该文本出现的第一个位置(按 n 键到达下一个);
  • 如果光标当前位置之后没有你要查找的文本,则光标会绕过文件末尾,显示在该文本出现的第一个位置(并用一条消息显示);
  • 输入一条错误消息,说明在文件中没有找到要找的文本

替换命令的格式是:

:s/old/new

Vim 编辑会跳到 old 第一次出现的地方并用 new 来替换,可以对替换命令作一些修改来替换多处要替换的文本:

最后

Vim 包含了不少高级功能,由于每个 Linux 发行版都会包含它,所以应该至少了解一下 Vim 编辑器的一些基本用法。

全部评论