# Mastering Vim Quickly 书评

* 原文链接：[Network Monitoring on the Console](https://freebsdfoundation.org/wp-content/uploads/2021/01/Book-Review.pdf)
* 作者：**BENEDICT REUSCHLING**

![](https://github.com/user-attachments/assets/777319ef-bc71-4123-a6f3-66e04309d1d6)

毫无疑问，vi 是 Unix 上最常见的文本编辑器。它无处不在，但对于不理解其基本哲学的初学者来说，使用起来颇为困难。Vim（vi 的改进版）是对 vi 的增强，它保留了编辑器中的基本功能，但更容易上手。你可能见过某些人在 vim 中用几个按键做出惊人的操作——你可能会好奇那是怎么做到的。

Jovica Ilic 的书就是因为这种“我不知道这是怎么做到的”感觉而开始的，书的目的是教人如何掌握这些令人惊叹的编辑器高效技能。虽然关于 vim 的书籍很多，但这本书大约 140 页，是我见过的最薄的一本。不过，不要被它的简短所迷惑，书中的每一页都充满了大量的建议和实例！它专门为那些直到现在还未接触过 vim，或者只知道一些基本操作（如打开、插入、保存和（最重要的）退出编辑器）的人而写。在几页之内，你就能了解 vim 的工作原理，以及为什么它以这种方式执行操作的背后概念。

作者教你用 vim 的“语言”来搜索文本、删除或添加单词，只需要掌握几个可复用的关键字。这个技能已经让你占据了优势，但精彩的部分远不止这些。书中讨论并演示了许多关于 `.vimrc`（编辑器配置文件）中的常用选项。就像 Michael W. Lucas 的书籍一样，书中没有一张截图，但它通过文本和实例成功地解释了一切。这是一本自出版的书，偶尔可能会有些小错别字，但这并没有影响我的阅读体验。你可以立即通过作者给出的简短示例将书中的内容付诸实践。快速的反馈循环和偶尔的“我从没想到 vim 可以做这些”的时刻让你每翻一页都想学更多。从导航、netrw（vim 的文件浏览器）、撤销/重做分支（为什么每个编辑器都没有这个功能？）、使用 SSH 远程编辑其他系统上的文件，到缓冲区、映射、折叠、窗口、自动补全（如此有用且快速）和宏（你一直躲在那儿我一辈子都没发现？），几乎涵盖了所有内容。书中还有一个单独的章节，给出了额外的生产力技巧和如何应用这些技巧的丰富思路。

由于 vim 是我大学课程《开发者的 Unix》的一部分，看完这本书后，我为我的课程增加了更多的 vim 内容。在向那些通常不接触 vim 的学生讲解这些概念时，我相信我可以说服他们，学习 vim 会大大提高他们的生产力。虽然这本书主要是为初学者写的，但我确信即使是经验丰富的 vim 用户也能从中找到有用的东西。这本书对于使用许多 vim 克隆（如 neovim）的人也很有帮助。你可能需要一些时间来巩固这些概念。然而，现在我知道 vim 能做什么，我肯定会更频繁地使用它。编辑变得更容易了，我的生产力也大大提高了。如果读完这本书后你还想要更多，作者还维护着每周的通讯，提供更多的技巧。

***

**BENEDICT REUSCHLING** 是 FreeBSD 项目中的文档提交者，也是文档工程团队的成员。他在 FreeBSD 基金会董事会担任副总裁。在过去，他曾任两届 FreeBSD 核心团队。他在德国达姆施塔特应用科技大学管理一个大数据集群，还为本科生教授《开发者的 Unix》课程。与 Allan Jude 一起，他主持每周的 bsdnow\.tv 播客。


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://freebsd-journal-cn.bsdcn.org/20201112-gong-zuo-liu-chi-xu-ji-cheng-ci/book.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
