gpt4 book ai didi

search - vim 中的字符串完全匹配? (就像在less中的 'regex-off'模式。)

转载 作者:行者123 更新时间:2023-12-03 07:57:43 26 4
gpt4 key购买 nike

在 vim 中,我经常想搜索包含需要转义的挑剔字符的字符串。有没有办法可以关闭所有特殊字符的含义,有点像less中的regex-off模式或fgrep?

我正在处理特别多毛的字符串;这是一个例子:

((N/N)/(N/N))/N

无需转义任何字符即可在 vim 中进行搜索将是一个主要的节省时间。

Vim 中的\V 有助于处理一些元字符,但关键不是/或\。

谢谢大家!最后,我将其添加到我的 .vimrc 中:
command! -nargs=1 S let @/ = escape('<args>', '\')
nmap <Leader>S :execute(":S " . input('Regex-off: /'))<CR>

最佳答案

查看您的具体示例,可能最简单的方法(因为\V 在这里无济于事)是使用 ?而不是 / : 那么你就不必逃避 / s:

?((N/N)/(N/N))/N

这将向后搜索而不是向前搜索,但您始终可以在第一次搜索后使用 'N' 而不是 'n' 来向前搜索。或者您可以按 /后跟向上光标键以自动转义正斜杠。

但是,您无法轻松地转义反斜杠。我想你可以这样做:
:let @/ = escape(pattern, '\')

然后使用 n搜索,但这可能并不容易。我能想到的最好的是:
:command! -nargs=1 S let @/ = escape('<args>', '\')

然后做:
:S (N)/(N+1)\(N)
n

关于search - vim 中的字符串完全匹配? (就像在less中的 'regex-off'模式。),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1550734/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com