适用于写作者的超棒 Vim 插件

466 位读者喜欢这篇文章。
Typewriter keys

April Killingsworth。由 Rikki Endsley 修改。CC BY-SA 2.0。

Vim 是程序员、网页开发者和 GNU/Linux 高级用户中最流行的文本编辑器之一。这并不令人惊讶,因为 Vim 提供高速编辑、具有可扩展性,并且预装在大多数基于 Linux 的发行版中。

此外,无论写作者是否精通技术,Vim 都能为他们带来巨大的好处。我个人不仅使用它来编辑配置文件和网页,还用来撰写博客、软件文档、笔记和演示文稿幻灯片。在我看来,它唯一潜在的问题可能是其相对陡峭的学习曲线。我记得我花了大约两周的时间才习惯在其中工作,但从那时起,与我以前使用过的其他编辑器相比,编辑任何类型的文本都感觉明显更流畅。

在本文中,我将分享一系列插件,这些插件可以帮助我更高效地创建文档,并减少语法、文体和排版错误。

注意:我使用 Neovim基于 Qt 的 GUI,但是所有插件都应该适用于任何稳定版本的 Vim。

语法和词汇用法

即使确保文本不包含语法错误的最佳方法是让人工审核,但在没有人有时间校对你的工作时,语法检查器仍然很有价值。vim-languagetoolvim-grammarous 插件提供了与 LanguageTool 的集成,后者可以检查 Vim 拼写检查器未涵盖的错误。它目前支持 31 种语言

LanguageTool plugin

LanguageTool 插件

如果你对更轻量级的解决方案(仅适用于英语)感兴趣,vim-wordy 是一个不错的选择。此插件不依赖于 Vim 之外的任何东西,它会根据用词不当、术语、含糊措辞 等查找当前文件中的错误。

同义词词典

同义词词典可以通过列出特定单词或短语的同义词,让你访问更广泛的词汇。多语言同义词查询/替换插件 检查光标下当前单词(或在可视模式下突出显示的多个单词)的可用同义词,并使你能够轻松地用任何建议替换它们。目前支持的语言包括英语、中文、俄语和德语。

一些 后端 与特定的在线服务一起工作(例如,Thesaurus.com)。其他后端需要本地数据库,例如你可以从 Gutenberg.org 或 OpenOffice 的英语同义词词典下载的数据库。

Thesaurus plugin

同义词词典插件

排版规则

在典型的键盘上,只能找到直引号(字符 ' 和 "),许多人根据自己的风格指南决定使用哪种引号。但是,如果你想遵循 排版规则,请使用弯引号和撇号。同样,使用 en 破折号em 破折号 而不是单个连字符 (-),以及三个点而不是 省略号

由于我是那种通常会注意这些规则的人,所以我安装了 UniCyclevim-textobj-quote。激活后,UniCycle 会将所有直引号转换为弯引号,将三个点转换为省略号,并将两个或三个连字符分别转换为 en 破折号和 em 破折号。除了对引号执行相同的操作外,vim-textobj-quote 还提供在开头和结尾引号之间导航、用引号包围单词等功能。

注意:如果你想插入超出上述两个插件范围的字符,二合字母组合键 也是不错的解决方案。

无干扰写作

正如 Cal Newport 在他的书《深度工作》中所声称的那样,我们在工作中遇到的干扰越多,我们的效率就越低。根据我自己的经验,我可以证实这是真的。幸运的是,你可以随时轻松减少(和恢复)编辑器中可能分散注意力的视觉元素。

在阅读了博客上题为“最不可思议的事情”的文章后,我偶然发现了 GoyoLimeLight。Goyo 禁用或隐藏除文件内容和状态栏之外的所有内容,并使用无边框拆分(或使用 Vim 术语,“窗口”)将文本居中。状态栏也被剥离了除最重要部分之外的所有内容,例如显示你是否处于插入或可视模式、成功保存的消息等。另一方面,LimeLight 会使活动段落之外的所有段落(特别是,以空行开头和结尾的非空行)变暗,以便你可以专注于当前正在编辑的段落。

LimeLight plugin

LimeLight 插件

专注于工艺

我相信写作可以被认为是工艺,因为它需要时间和细致的专注才能将你的信息有效地传达给尽可能广泛的受众。为此,选择正确的工具至关重要。我选择了 Vim 和我提到的插件,因为我可以专注于我的工作并更快地交付它。

你是否使用任何 Vim 插件来帮助你写作?我很乐意听取你的建议。

标签
User profile image.
Zsolt Szakács 是一位自由和开源软件爱好者、压力专家、翻译、网页开发者和作家。你可以在他的作品集中找到更多关于他的信息。

12 条评论

谢谢!昨天我应该寻找的东西今天就出现在我的 RSS 订阅中。我非常感谢这样的文章。

和你一样,我使用 Vim 做所有事情,除了演示文稿。我用 vim 编写代码、博客文章、笔记和短篇小说。我已经非常习惯它了,所以当尝试使用其他编辑器时,我仍然会按 :w 来保存而不是 CTRL-S。我曾尝试使用插件或配置来创建一个更适合写作模式的 vim,但没有什么真正坚持下来,我又回到了几乎标准的设置。我唯一改变的是获得 Solarized 外观,并且我用 Markdown 编写大部分内容,因此它很容易在那里阅读,也很容易转换为 LaTeX、PDF 甚至 Word 格式。我将我在 One Note 中完成的工作笔记全部更改为 markdown 文件,并将大小从 800 MB 以上缩小到不到 800 kB,包括图片。

这里有一些不错的插件……绝对有一些我以前从未接触过的。我尝试过一些专注于写作的插件,但我的基本设置是 vim-markdown、vim-airline 和 pencil。当我转换为输出文件供其他人阅读时,我依靠 pandoc 来转换我的排版字符(引号、破折号等)。

我已经使用 Pandoc 几周了(我计划在另一篇文章中写到它),但我没有注意到引号被转换为弯引号。所以,感谢你指出这一点!

回复 ,作者:Jason van Gumster

感谢这篇精彩的文章!

我过去曾在 latex 文档上尝试过 vim-grammarous。它似乎很难处理所有 Latex 符号,给出了相当多的误报……你也经常使用 LaTeX 吗?你是如何解决这个问题的?

我过去经常使用 LaTeX(最近发现了 Pandoc,它允许我将 Markdown 转换为 .tex 和 .pdf 文件),但我也遇到过很多次误报,尤其是在 LaTeX 命令上(即使使用 vim-Languagetool)。

虽然我还没有找到真正的解决方案,但我决定将语法和拼写检查留到写作的最后步骤。(Vim 的拼写检查器,在我看来,对于匈牙利语等语言来说问题更多,因为它使用 Aspell 而不是 Hunspell。)

回复 ,作者:ron89 (未验证)

Zsolt,作为 vi 和后来的 vim 的长期用户(我第一次接触 vi 可以追溯到 1984 年,从那时起它就一直是我的首选),我真的非常感谢你整理的这份很棒的列表。谢谢!!!

稍微偏离主题,但对于喜欢 vi(m) 但又想要一个功能齐全的 IDE 来进行编程工作的人来说,Netbeans 有一个名为 jVi 的插件,它可以使代码屏幕响应那些 vi 肌肉记忆……

有人知道是否有更“现代”版本的 UniCycle 插件适合与一些现代 Vim 的包管理器(如 vim-plug)一起安装吗?

我借助 vimplug 安装了 UniCycle。你是否尝试在 .vimrc 中放入 "Plug 'unicycle'",还是插件有其他问题?

回复 ,作者:Gour (未验证)

知识共享许可协议本作品根据知识共享署名-相同方式共享 4.0 国际许可协议获得许可。
© . All rights reserved.