1
當用vim編寫非代碼時,我經常需要搜索多個可能被換行符而不是空格分隔的單詞。在vim中覆蓋搜索命令
例如,我可能想要搜索「白宮」的出現,但某些事件可能在「白色」和「房子」之間有換行符。
我知道這樣的多行搜索對於「\ _s」(例如「white \ _shouse」)是可能的,但是它很麻煩。我想替換搜索命令,以便將空格視爲「\ _s」,而不必將其輸出。
是否有可能「重新映射」/ search命令?
當用vim編寫非代碼時,我經常需要搜索多個可能被換行符而不是空格分隔的單詞。在vim中覆蓋搜索命令
例如,我可能想要搜索「白宮」的出現,但某些事件可能在「白色」和「房子」之間有換行符。
我知道這樣的多行搜索對於「\ _s」(例如「white \ _shouse」)是可能的,但是它很麻煩。我想替換搜索命令,以便將空格視爲「\ _s」,而不必將其輸出。
是否有可能「重新映射」/ search命令?
您至少有兩種選擇:
,s
到\_s
:,s
是更容易輸入: cnoremap ,t \\_s
\s
與\_s
替換並使用它: function Search(prompt) let searchstring=substitute(input(a:prompt), '\\\\s', '\\\\_s', 'g') return a:prompt.searchstring."\n" endfunction nnoremap <expr> <special>/Search('/')或甚至
function Search(prompt) let searchstring=substitute(input(a:prompt), ' ', '\\\\_s', 'g') return a:prompt.searchstring."\n" endfunction nnoremap <expr> <special>/Search('/')(此功能替換
\_s
空格)
muckabout:這是什麼_s你是指什麼?這聽起來很有用...我歷來使用[\ s \ n]。 *編輯* - 剛試過。你的意思是\\ _ s? – 2010-08-12 09:16:15