Vim 中纯文本文档的项目符号列表

AnC*_*AnC 9 vim plaintext

虽然 Vim 支持列表中的自动缩进,但默认设置仅涵盖有序列表,以数字开头,例如:

1. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
   tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim
2. veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea
   commodo consequat.
Run Code Online (Sandbox Code Playgroud)

我一直无法弄清楚如何将其扩展到无序列表、项目符号列表,例如:

* Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
  tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim
* veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea
  commodo consequat.
Run Code Online (Sandbox Code Playgroud)

更改formatlistpatRegEx 并没有得到预期的结果(事实上,它甚至破坏了有序列表)。

小智 11

知道您尝试将值设置为什么会有所帮助,但我猜您没有正确转义反斜杠。

默认值为

formatlistpat=^\s*\d\+[\]:.)}\t ]\s*
Run Code Online (Sandbox Code Playgroud)

但要实际设置该值(在您的 vimrc 或在 cmdline),您必须使用

set formatlistpat=^\\s*\\d\\+[\\]:.)}\\t\ ]\\s*
Run Code Online (Sandbox Code Playgroud)

这在 中解释:help option-backslash。允许formatlistpat使用*分隔的无序列表的简单修改是

set formatlistpat=^\\s*[0-9*]\\+[\\]:.)}\\t\ ]\\s*
Run Code Online (Sandbox Code Playgroud)

  • 正如在 `[]` 的帮助中所解释的,使用 `[[:digits:]*]` 或 `[\d*]` 而不是 `[0-9*]` 会更快 (2认同)