轻松编辑格式列表

  • 本文关键字:列表 格式 编辑 vim
  • 更新时间 :
  • 英文 :


我想为formatlistpat选项尝试不同的正则表达式。 关于最简单的方法有什么建议吗?

我知道在插入模式下,我可以使用<Ctrl+r>粘贴寄存器。 并且我可以使用它来编辑宏。 有等效的选项吗?还是更简单的东西?

我的另一个想法是获取一个包含 set 命令的缓冲区。 但我不确定如何将选项值放入缓冲区以便可以对其进行编辑。

有什么想法吗?技巧?建议?

编辑命令行时,这里有两个选项:

  1. 使用自动完成功能:

    set formatlistpat=<Tab>
    

    (不是真正的选项卡,而是设置的任何"wildchar"/"wildcharm")。这将使用当前选项值填充命令行,正确转义。我不能为这个特定选项建议这种方式,因为双重转义看起来很丑陋,而且大多数模式中都有很多转义。

  2. 使用表达式寄存器(在命令行和插入模式下都有效):

    let &formatlistpat=<C-r>=string(&formatlistpat)<CR>
    

    请注意,在这种情况下,转义不会自动完成。使用:letstring()更容易,然后为:set进行适当的转义。

根据ZyX的回答,以下内容对.vimrc文件有效:

let &formatlistpat="^s*d+[]:.)}t ]s*|^s*[-*]s+"
let &formatlistpat=string(&formatlistpat)

如果有人仍在研究如何在.vimrc中最好地设置formatlistpat,而不会有任何丑陋的转义:

let &formatlistpat='^s*[[a-zA-Zа-яА-Я0-9_]+]:s*'
let &formatlistpat.='|'
let &formatlistpat.='^s*[-–+oо*•]s+'

给定的示例还有一个关于如何使formatlistpat代码更具可读性的巧妙技巧。

最新更新