如何有效地使用VIM编辑英文文本?

12
作为一个内心热爱编程的人,虽然不一定是从事这个专业,但我越来越依赖于VIM进行大部分编辑相关任务。你能给使用(几乎)所有人最喜欢的编辑器进行通用文本编辑的技巧吗?例如,使用MarkdownRST,带有最少标记的纯文本;我不需要支持LaTeX或输入数学公式。

更适合作为社区维基吗? - Randy Morris
@Randy Morris:听起来没错,我已经打开了这个选项。 - loevborg
2
更适合在SuperUser上吗?除了提到Markdown和ReStructured Text之外,这里没有任何编程内容。 - technomalogical
6个回答

11

我在编辑大多数文本文件时启用软换行:

:set wrap
如果你决定这样做,那么你需要了解普通模式下的 gjgk,它们可以按屏幕行移动而不是物理行。我经常使用它们,所以我将向上和向下箭头键映射到它们,而不是 kj
无论您正在编辑硬换行还是软换行文件,都可以通过 gqap(或其近亲 gwap)重新包装单个段落并添加硬换行,并通过 vipJ 将硬换行段落的所有行连接成一行来获得很高的效率。
您还可以考虑在 `formatoptions` 中包含 `a`,以启用自动段落格式化。
:set formatoptions+=a

当你进行这些包装和解包操作时,最好让 Vim 不要破坏有序列表:

:set formatoptions+=n

事实上,我建议检查所有的formatoptions并根据您的特定偏好进行调整:

:help fo-table

更多信息:

:help gj
:help gk
:help gqap
:help auto-format
:help formatoptions

7

拼写检查:

:setlocal spell spelllang=en_us
" ]s moves to the next mispelled word
" [s moves to the previous mispelled word

3

4
词库可能会误导人们回避简单易懂的词汇,而轻松使用长词。 - David Thornley

1

1

0

使用插入缩写:

iabbr teh the
iabbr i I
iabbr definately definitely

编辑,另一个提示:

set wrap nolist linebreak

这告诉vim使用“视觉”换行符而不是将实际的换行符添加到文件中来换行太长的行。必须关闭“list”选项,因为它会自动禁用“linebreak”选项。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接