是否有可能让Vim自动处理正则表达式,就像在模式中给出了\ v一样?

gvk*_*vkv 2 regex vim

标题问题很简单; 我正在寻找类似的选项,magic以便Vim正则表达式足够Perly.我已经厌倦了在\v需要做任何捕捉的时候打字.

ZyX*_*ZyX 6

不,并启用此选项,如果将添加,将导致几乎所有插件中断.当然,你可以使用映射和命令,例如这是我的:S命令:

command -nargs=1 -range   S execute "<line1>,<line2>s".<q-args>[0].'\v'.
                                                      \<q-args>[1:]
Run Code Online (Sandbox Code Playgroud)

.用法类似:s,但它启用\v.您还可以添加映射

noremap / /\v
Run Code Online (Sandbox Code Playgroud)

并定义一组自定义函数,如下所示:

function Substitute(expr, pat, sub, flags)
    return substitute(a:expr, '\v'.a:pat, a:sub, a:flags)
endfunction
Run Code Online (Sandbox Code Playgroud)