2010-09-08 21 views
4

在vim的,如果我有以下文字:VIM編輯 - 如何編輯搜索的突出段或轉換成視覺塊

你好

說我搜索在地獄上面的文字。

/地獄

,再按n移動到下一個實例。

hellØ

地獄現在強調vim和我的光標在 'H'。

現在抽出/刪除突出顯示的文本的最有效方法是什麼?

有沒有一種方法可以'突出顯示文本的末尾'? 或'從突出顯示的文本創建視覺塊'?

我知道我可以使用%s/hell/whatever/gc作爲替代選擇。

TIA湯姆

+0

在Vim Tip的wiki中有一個提示,解釋瞭如何做到這一點,它看起來像這不是內置的:http://vim.wikia.com/wiki/Copy_the_search_results_into_clipboard – 2010-09-08 13:34:32

回答

8

y//e,或d//e應該做的伎倆。

:let @" = @/以及即使您已移動光標。

+0

我不知道這一點:這是比我的建議更好的方式! – DrAl 2010-09-08 13:38:23

+0

實際上,它們沒有那麼不同:''s''''''''''''''''''''''''''''''''實際上,它們沒有那麼不同:在''s''中已經知道'''''''''',搜索時'/ e'&co替換'\ zs'&co。 – 2010-09-08 15:09:43

1

我不知道內置的映射(編輯:見下文因爲這是比我bodges 末編輯一個更好的解決方案呂克Hermitte的答案),但你可以做猛拉或有選擇夫婦映射:

nmap ,y y/<C-R>/\zs<CR> 
nmap ,v v/<C-R>/<BS>\zs<CR> 

,y映射使用「/」登記在過去的搜索詞的搜索來拉,加\zs,使搜索點是結束和猛拉進行到這一點。 ,v映射做了一個視覺選擇,但必須刪除搜索的最後一個字符(使用<BS>)以使其在正確的位置結束。

對於它的價值,可以簡化您通過精煉後/搜索,然後使用縮寫形式建議%s/hell/whatever/gc

/hell 
:%s//whatever/gc 

這是因爲:s默認使用最後一個搜索詞。