文本编辑器
100%

高级文本操作 · 第 2 课

文本编辑器

学习如何为 Linux 管理和开发选择及配置终端文本编辑器。

Linux 配置、脚本、源代码和日志通常以纯文本形式存储。终端编辑器让你可以在本地终端、远程 SSH 会话或没有图形桌面的环境中处理这些文件。

根据环境选择编辑器

没有哪一种编辑器适合所有人和所有任务。图形编辑器、终端编辑器和集成开发环境都可能是合适的选择。进行命令行工作时,应选择已经安装、能够安全退出,而且你理解其基本编辑模式的编辑器。

不要假设 Vim 或 Emacs 已经安装。请检查当前 shell 中的命令解析结果:

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

如果结果为空且状态非零,表示当前命令搜索路径中没有找到该名称。精简系统可能只提供 vi,其他系统可能包含 Nano,也可能完全没有交互式编辑器。

哪个命令会检查当前 shell 能否解析名为 vim 的可执行程序?

理解 Vim 的模型

Vim 是模态编辑器。同一个按键会根据当前模式产生不同含义:

  • 普通模式把按键解释为导航和编辑命令。
  • 插入模式会插入输入的文本。
  • 命令行模式接受写入或退出等命令。

经过练习后,这种模型可以提高重复键盘编辑的效率,但新用户必须留意当前模式。后续课程会逐项介绍 Vim 操作。

Vim 是模态编辑器意味着什么?

理解 Emacs 的模型

Emacs 通常在可扩展环境中使用组合键和具名命令。文件会在缓冲区中访问,主模式和次模式可以为不同内容和任务自定义行为。Emacs 既能在终端中运行,也能在图形窗口中运行。

Vim 和 Emacs 都可以通过配置和扩展实现远超基础编辑的功能。添加自定义设置前,请先学会打开、更改、保存和关闭纯文本文件。

在 Emacs 术语中,所访问文件的可编辑文本通常保存在哪里?

设置首选编辑器

许多命令行程序需要启动编辑器时会查询 VISUALEDITOR。例如,在当前 Bash 会话及其子进程中为命令选择 Vim:

$ export VISUAL=vim
$ export EDITOR="$VISUAL"

这些变量表达的是偏好,不会安装程序。请使用实际存在的命令,并在测试完成后再把这些 export 放入合适的 shell 启动文件。

export EDITOR=vim 会做什么?

在不危及重要文件的情况下练习

请在自己拥有的目录中使用可丢弃文件学习:

$ printf 'first line\nsecond line\n' > editor-practice.txt
$ vim editor-practice.txt

不要从系统配置或其他用户的数据开始练习。更改重要文件前应先制作备份,理解如何保存和退出,并使用 catdiff 等只读命令检查结果。

第一次练习不熟悉的编辑器时,哪种文件最安全?

要练习在终端中打开、编辑和保存文本文件,可以尝试以下动手实验:

  1. 使用 Vim 和 Nano 在 Linux 中编辑文本文件 - 练习使用 vi/vim 和 nano 创建文件、编辑文本、保存文件及导航,这些都是 Linux 用户的重要技能。

课程已完成

你已完成 文本编辑器

现在,你可以选择终端编辑器,并准备安全的练习流程。

  • 检查编辑器命令是否可用。

  • 认识 Vim 的模态交互模型。

  • 认识 Emacs 的缓冲区和可扩展模式。

  • 设置编辑器偏好,同时不要把它误认为安装操作。

  • 编辑重要文件前,先使用可丢弃文本练习。

保存学习进度

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

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