如何在 vim 搜索字符串中使用变量

how to use a variable in vim search string

我有一个很长的 vim 正则表达式,我经常使用它,在这个正则表达式中,有一个重复多次的 id。我想要实现的是在搜索字符串中保留此 id 参数,因此通过为 id 设置不同的值,我可以 运行 搜索并根据需要获得不同的匹配项。

例如,如果搜索正则表达式如下;

/input\(1\|output\(1\|mux\(1

我想对 1 进行参数化,这样我就可以像 :let res_id=1 等那样调整它

我可以通过常规的“/”搜索来完成还是需要 vim 脚本?我真的不是 vim 瘾君子,所以,对问题的格式感到抱歉。

提前致谢,

/ 搜索中,您不能使用变量。您可以尝试的是,设置 / 寄存器。

例如,

function! MySearch(myVar)
    let @/='input\('.a:myVar.'\|output\('.a:myVar.'\|mux\('.a:myVar
endfunction

然后你通过 newValue :call MySearch('newValue')