使用换行符和空格搜索视觉选择的文本

时间:2014-08-29 06:16:08

标签: vim

在问题Search for selection in vim中,搜索视觉选择的技巧是抽取所选文本并将其粘贴到搜索命令/之后。但这在我的特殊情况下似乎不起作用。

在我的情况下,所选文本中有换行符和空格,如下所示:

        something\\
    \end{align*}

将部件从\\延迟并粘贴到下一行的末尾(}

\\^M    \end{align*}

但是通过搜索这条线找不到匹配。

我也试过逃避

\\\\^M    \\end{align*}

但仍未找到匹配。

有任何帮助吗?感谢。

2 个答案:

答案 0 :(得分:2)

我的SearchHighlighting plugin提供了可视模式*g*映射,可以很好地处理这一问题。

答案 1 :(得分:1)

将以下内容放在〜/ .vimrc中:

" Search for selected text, forwards or backwards.
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>

现在您可以使用 * 搜索所选文本。这也被列为here