在问题Search for selection in vim中,搜索视觉选择的技巧是抽取所选文本并将其粘贴到搜索命令/
之后。但这在我的特殊情况下似乎不起作用。
在我的情况下,所选文本中有换行符和空格,如下所示:
something\\
\end{align*}
将部件从\\
延迟并粘贴到下一行的末尾(}
)
\\^M \end{align*}
但是通过搜索这条线找不到匹配。
我也试过逃避
\\\\^M \\end{align*}
但仍未找到匹配。
有任何帮助吗?感谢。
答案 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。