我有时会跨越两行或多行的XML条目,所以我可以寻找这样的东西:
something on one line
但是如果我尝试使用vim命令/something on one line
并且该行是这样的:
something on one
line
然后它找不到它,因为第二个文本块实际上被视为
something on one^J line
这可能与我正在使用DOS格式的文件有关。
如何让vim搜索忽略空格和换行符?
答案 0 :(得分:6)
在vim搜索中,_s
表示新行,空格或制表符。所以你可以尝试一下如下:
/something on one\_s*line
匹配您用作示例的示例字符串。
答案 1 :(得分:1)
手动用替换
\_s\+
空格非常麻烦。 Vim Tips Wiki上的Search for visually selected text主题有一个映射,可以为您执行当前的视觉选择。您可以像内置*
映射一样使用它来搜索(忽略空格)当前选择。非常方便!
答案 2 :(得分:1)
虽然我喜欢现有的答案,但我一直在寻找一种方法来为我输入的每个搜索“自动”将空格替换为 var_dump($_GET);
。
幸运的是,如这篇 reddit 博文所述,这样的解决方案是可行的。我最终使用了以下命令:
\_s*
这样一来,每当您在搜索命令中输入空格(cnoremap <expr><space> '/?' =~ getcmdtype() ? '\_s*' : ' '
或 /
)时,您输入的所有空格都会自动替换为 ?
。
事实上,我只希望 LaTeX 文件具有这种行为,因此我在 \_s*
中添加了以下内容:
.vimrc