搜索拉出的文本并自动转义特殊字符

bzu*_*ick 5 vim

例如,我想将hello/world其粘贴到搜索其他实例中hello/world

我尝试过猛拉,然后输入/\v ctr-r 0,然后在搜索栏中输入整个内容hello/world,但实际上,它只搜索hello.

有没有办法在搜索粘贴时自动转义特殊字符?

bzu*_*ick 0

将其添加到 vimrc 文件中可以让您直观地选择某些内容,按 *,它将使用转义字符进行搜索

vnoremap <silent> * :<C-U>
  \let old_reg=getreg('"')<Bar>let old_regtype=getregtype('"')<CR>
  \gvy/<C-R><C-R>=substitute(
  \escape(@", '/\.*$^~['), '\_s\+', '\\_s\\+', 'g')<CR><CR>
  \gV:call setreg('"', old_reg, old_regtype)<CR>
vnoremap <silent> # :<C-U>
  \let old_reg=getreg('"')<Bar>let old_regtype=getregtype('"')<CR>
  \gvy?<C-R><C-R>=substitute(
  \escape(@", '?\.*$^~['), '\_s\+', '\\_s\\+', 'g')<CR><CR>
  \gV:call setreg('"', old_reg, old_regtype)<CR>
Run Code Online (Sandbox Code Playgroud)

来源