覆盖vim中的搜索命令

覆盖vim中的搜索命令,vim,Vim,在使用vim编写非代码时,我经常需要搜索多个可能由换行符而不是空格分隔的单词 例如,我可能想搜索“white house”事件,但有些事件可能在“white”和“house”之间有一条新行 我知道这样的多行搜索可以用“\\\ s”(例如,“white\\ u shouse”)进行,但它很麻烦。我想替换search命令,这样空格就可以被视为“\\ s”,而不必键入它们 是否可以“重新映射”/search命令?您至少有两个选项: 定义将重新映射的映射,例如,,s到\\u s:,s更易于键入: cno

在使用vim编写非代码时,我经常需要搜索多个可能由换行符而不是空格分隔的单词

例如,我可能想搜索“white house”事件,但有些事件可能在“white”和“house”之间有一条新行

我知道这样的多行搜索可以用“\\\ s”(例如,“white\\ u shouse”)进行,但它很麻烦。我想替换search命令,这样空格就可以被视为“\\ s”,而不必键入它们


是否可以“重新映射”/search命令?

您至少有两个选项:

  • 定义将重新映射的映射,例如,
    ,s
    \\u s
    ,s
    更易于键入: cnoremap ,t \\_s 甚至 函数搜索(提示) 让searchstring=substitute(输入(a:prompt),“”,“\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ 返回:prompt.searchstring。“\n” 端功能 nnoremap/Search(“/”) (此函数将空格替换为
    \\u s

  • 您至少有两种选择:

  • 定义将重新映射的映射,例如,
    ,s
    \\u s
    ,s
    更易于键入: cnoremap ,t \\_s 甚至 函数搜索(提示) 让searchstring=substitute(输入(a:prompt),“”,“\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ 返回:prompt.searchstring。“\n” 端功能 nnoremap/Search(“/”) (此函数将空格替换为
    \\u s

  • 弄脏:你指的是什么?听起来很有用。。。我以前使用过[\s\n]。编辑-刚刚尝试过。你是说“我们”吗?混球:你指的是什么?听起来很有用。。。我以前使用过[\s\n]。编辑-刚刚尝试过。你是说\\s? function Search(prompt) let searchstring=substitute(input(a:prompt), ' ', '\\\\_s', 'g') return a:prompt.searchstring."\n" endfunction nnoremap <expr> <special> / Search('/')