使用*
當我只是搜索一個單詞時很好用,但我經常想搜索出現在代碼中的短語或文件名,並且很好地直觀地選擇字符串,並能夠擊中*
或#
來搜索它。事實證明,這比我希望的更復雜。我從這開始:在vim中搜索視覺選擇
vnoremap * y/\<<c-r>"<cr>\>
但是,如果我的字符串中有正斜槓,就會中斷。我試圖得到它自動替換前與\/
組合斜線,如下:
vnoremap * yo<esc>pV:s-/-\\/-ge<cr>0D"_dd/\<<c-r>"<cr>\>
" y - yank the text
" o<esc> - open a new line
" p - paste the string
" V:s-/-\\/-ge<cr> - replace/with \/
" 0D"_dd - Grab the string and get rid of the line I just created
" /\<<c-r>"<cr>\> - Do the search
的有(至少)兩個問題:如果我不能編輯當前文件將無法正常工作,如果我試圖在評論中抓取文字,它就會爆炸。當我在註釋行上使用o
時,新行以註釋開頭,這意味着當我運行0D
時,它不會挖出正確的文本。有沒有辦法讓我的工作方式符合我的要求?
這可能會回答你的問題:http://stackoverflow.com/a/363125/3368845 – EvergreenTree 2015-01-26 20:42:54