如何在 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')
我有一个很长的 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')