Vim(Vi Improved)
100%

高级文本操作 · 第 3 课

Vim(Vi Improved)

了解 Vim 是什么、它与 vi 的关系,以及如何打开文件、帮助和引导式练习。

Vim 是一款可配置的文本编辑器,其名称意为 Vi Improved。它保留了与原始 vi 编辑器相关的模态编辑模型,并增加了多级撤销、语法支持、脚本和丰富的帮助系统等功能。

Vim 与 vi 的关系

vi 既指一款历史悠久的编辑器,也指一种常见的命令界面。在某个 Linux 系统上,vi 可能会以偏兼容模式启动 Vim;在另一个系统上,它可能启动不同的 vi 实现。不要假设每个 vi 命令都提供全部 Vim 功能。

检查当前 shell 的解析结果:

$ command -v vim
/usr/bin/vim
$ command -v vi
/usr/bin/vi

仅凭解析出的路径,无法判断 vivim 是否是同一实现。type -a vi vim 和编辑器的版本输出可以提供更多细节。

Vim 这个名称是什么意思?

哪个命令会检查 Bash 当前能否解析名称 vim

打开 Vim 和文件

使用未命名缓冲区启动 Vim:

$ vim

传入路径名以编辑该文件:

$ vim filename.txt

如果 filename.txt 已存在且可读,Vim 会把内容加载到缓冲区中。如果路径不存在,Vim 会打开一个与该名称关联的新缓冲区;只有成功写入缓冲区时才会创建文件。

Vim 不会绕过文件系统权限。能够打开文件并不保证当前账户可以把更改保存到该路径。

vim draft.txt 指定的路径还不存在时,通常会发生什么?

使用内置学习资源

如果 Vim 安装包含 vimtutor,可从 shell 运行它来开始交互式练习课程:

$ vimtutor

在 Vim 中,按 Esc 进入普通模式,输入 :help 并按 Enter 打开帮助系统。命令后还可以跟特定主题:

:help user-manual
:help :write

帮助标签非常精确,所以标点符号可能很重要。在帮助链接上使用 Ctrl+] 可跟随链接,使用 Ctrl+T 返回。

安装了 Vim 引导教程时,哪个 shell 命令会启动它?

使用可丢弃文件练习

请从自己拥有的目录中的文件开始:

$ printf 'alpha\nbeta\n' > vim-practice.txt
$ vim vim-practice.txt

后续课程会介绍搜索、导航、插入、编辑和保存。在你学会安全离开之前,请记住 Esc 会返回普通模式,而输入 :q! 后按 Enter 会放弃当前窗口中未保存的更改。只有确实想丢弃这些更改时才使用该命令。

在可丢弃的练习文件中,哪个 Vim 命令会退出当前窗口并丢弃未保存的更改?

课程已完成

你已完成 Vim(Vi Improved)

现在,你可以识别 Vim、打开缓冲区并找到安全的学习资源。

  • 说明 Vim 与 vi 的关系,同时不假定具体实现。

  • 检查 vim 命令是否可用。

  • 打开已有文件或新的具名缓冲区。

  • 启动 vimtutor 或打开 Vim 内置帮助。

  • 只在确实需要时放弃未保存的练习更改。

保存学习进度

创建免费账户即可保存本课进度,并在任意设备上继续学习。

创建免费账户
下一节
返回 高级文本操作