2014-08-29 19 views
0

Search for selection in vim問題中,搜索視覺選擇的技巧是將選定文本抽出並粘貼到搜索命令/後面。但這似乎並不適用於我的特殊情況。搜索具有換行符和空格的視覺選定文本

在我的情況,也有斷行和在所選擇的文本的空間,像這樣:

 something\\ 
    \end{align*} 

猛拉和從\\粘貼部至下一條線的端部(其是})產生

\\^M \end{align*} 

但通過搜索此行未找到匹配項。

我也試圖逃避

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

,但仍然沒有找到匹配。

任何幫助?謝謝。

回答

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

+0

謝謝,它的工作。 :-) – Naitree 2014-08-29 11:28:16

+0

很抱歉,我無法提供您的答案,因爲此操作需要更多信譽。 – Naitree 2014-08-29 11:31:15

2

我的SearchHighlighting plugin提供了可視模式*g*以強大的方式處理此問題的映射。

+0

謝謝。我嘗試了你的插件,但它似乎與我當前的設置不兼容,因爲在點擊'*'後產生了許多錯誤。 – Naitree 2014-08-29 11:26:46

+0

哦,對不起。你是否安裝了它依賴的ingo-library.vim插件(vimscript#4433)?如果你只想要一個輕量級的解決方案,Zsolt Botykai的答案也很好。 – 2014-08-29 11:33:15

相關問題