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