Linux 配置、脚本、源代码和日志通常以纯文本形式存储。终端编辑器让你可以在本地终端、远程 SSH 会话或没有图形桌面的环境中处理这些文件。
高级文本操作 · 第 2 课
文本编辑器
学习如何为 Linux 管理和开发选择及配置终端文本编辑器。
根据环境选择编辑器
没有哪一种编辑器适合所有人和所有任务。图形编辑器、终端编辑器和集成开发环境都可能是合适的选择。进行命令行工作时,应选择已经安装、能够安全退出,而且你理解其基本编辑模式的编辑器。
不要假设 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 术语中,所访问文件的可编辑文本通常保存在哪里?
设置首选编辑器
许多命令行程序需要启动编辑器时会查询 VISUAL 或 EDITOR。例如,在当前 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
不要从系统配置或其他用户的数据开始练习。更改重要文件前应先制作备份,理解如何保存和退出,并使用 cat 或 diff 等只读命令检查结果。
第一次练习不熟悉的编辑器时,哪种文件最安全?
要练习在终端中打开、编辑和保存文本文件,可以尝试以下动手实验:
- 使用 Vim 和 Nano 在 Linux 中编辑文本文件 - 练习使用 vi/vim 和 nano 创建文件、编辑文本、保存文件及导航,这些都是 Linux 用户的重要技能。
课程已完成
你已完成 文本编辑器
现在,你可以选择终端编辑器,并准备安全的练习流程。
检查编辑器命令是否可用。
认识 Vim 的模态交互模型。
认识 Emacs 的缓冲区和可扩展模式。
设置编辑器偏好,同时不要把它误认为安装操作。
编辑重要文件前,先使用可丢弃文本练习。