我想为formatlistpat选项尝试不同的正则表达式。有什么建议最简单的方法来做到这一点?我知道在插入模式下,我可以使用<Ctrl+r>粘贴寄存器。而且我可以用这个做编辑宏。期权有等价物吗?或者更简单的?我的另一个想法是在缓冲区中添加set命令。但我不确定如何将选项值放入缓冲区以便可以编辑。有什么想法吗小提示?建议?
formatlistpat
<Ctrl+r>
2ekbmq321#
当你编辑命令行时,你有两个选项:1.使用自动完成:
set formatlistpat=<Tab>
字符串(not really tab,而是任何'wildchar'/'wildcharm'被设置为)。这将用正确转义的当前选项值填充命令行。我不能建议这种方法,因为双重转义看起来很难看,而且在大多数模式中有很多转义。1.使用表达式寄存器(在命令行和插入模式下都有效):
let &formatlistpat=<C-r>=string(&formatlistpat)<CR>
型请注意,在这种情况下,转义不会自动完成。使用:let和string()比对:set进行适当的转义更容易。
:let
string()
:set
kmynzznz2#
基于ZyX's answer,以下内容对.vimrc文件有效:
.vimrc
let &formatlistpat="^\s*\d\+[\]:.)}\t ]\s*\|^\s*[-*]\s+"let &formatlistpat=string(&formatlistpat)
let &formatlistpat="^\s*\d\+[\]:.)}\t ]\s*\|^\s*[-*]\s+"
let &formatlistpat=string(&formatlistpat)
字符串
sxpgvts33#
如果有人还在寻找如何在.vimrc中最好地设置formatlistpat,而没有任何丑陋的转义:
let &formatlistpat='^\s*\[[a-zA-Zа-яА-Я0-9_]\+\]:\s*'let &formatlistpat.='\|'let &formatlistpat.='^\s*[-–+oо*•]\s\+'
let &formatlistpat='^\s*\[[a-zA-Zа-яА-Я0-9_]\+\]:\s*'
let &formatlistpat.='\|'
let &formatlistpat.='^\s*[-–+oо*•]\s\+'
字符串给出的示例还提供了一个巧妙的技巧,让formatlistpat代码更易读。
3条答案
按热度按时间2ekbmq321#
当你编辑命令行时,你有两个选项:
1.使用自动完成:
字符串
(not really tab,而是任何'wildchar'/'wildcharm'被设置为)。这将用正确转义的当前选项值填充命令行。我不能建议这种方法,因为双重转义看起来很难看,而且在大多数模式中有很多转义。
1.使用表达式寄存器(在命令行和插入模式下都有效):
型
请注意,在这种情况下,转义不会自动完成。使用
:let
和string()
比对:set
进行适当的转义更容易。kmynzznz2#
基于ZyX's answer,以下内容对
.vimrc
文件有效:字符串
sxpgvts33#
如果有人还在寻找如何在
.vimrc
中最好地设置formatlistpat
,而没有任何丑陋的转义:字符串
给出的示例还提供了一个巧妙的技巧,让
formatlistpat
代码更易读。