作家必备的超棒 Vim 插件

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

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

Vim 是程序员、Web 开发人员和 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 是一位自由和开源软件爱好者、压力专家、翻译、Web 开发人员和作家。 您可以在他的作品集中找到更多关于他的信息。

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 (未验证)

© . All rights reserved.