2013-10-18 126 views
1

在我的.vimrc中,我已經啓用了突出顯示搜索到的文本(我發現這是一個方便的功能,並且不想禁用它)。如果它是命令的一部分,在vim中不突出顯示搜索

set hlsearch 

而且,以下答案this question,我做了一個映射,以能夠清除亮點:

nmap <silent> ,/ :nohlsearch<CR> 

這個問題是與包括搜索命令。例如,刪除到下一個字符'x':

d/x 

這會自動突出顯示'x'的所有實例。要刪除這個亮點,我必須打,/清除它,這是很煩人的。

這個問題。如果搜索是前一個命令的一部分,是否可以強制執行:nohl?也許,在/字符被擊中之前,至少可以選擇一列命令(例如,d,yc)?

回答

0

d/x對我來說不起作用,正如你所描述的那樣。 (我不是vim 7.3這裏它不能使按照正常模式d/感,所以無視d並開始定期/搜索。)
如果你想刪除到下一個X,然後dfxdtx是我會用(取決於你是否也要刪除x本身)。
不涉及高亮。
希望有所幫助。

[在評論中進行了一些說明。]
我想應該可以編寫自定義函數來執行所需操作,然後分配自定義鍵序列來調用該函數。
我玩過一段時間,但對vim功能不甚瞭解,無法使其工作。
這裏是我的嘗試:

function! g:DeleteToSearchAndNohls(term) 
    :normal d/a:term 
    :nohlsearch 
endfunc 
+0

您是否在d/x之後嘗試按Enter鍵?這是我必須做的,因爲搜索可能包含幾個符號,你需要告訴vim它在哪裏結束。 – sashkello

+0

這確實提供了一個很好的選擇,但我試圖做的。謝謝。 – sashkello

+0

我會生氣,它確實有效。感謝新的訣竅。 – Edward

0

如果「X」是在同一行比光標,你可以使用DTX(指刪除至x)。

相關問題