%VIM键命令
有没有办法让%在vim中找到下一个([{或其他什么,即使它不在同一行上 例如:%VIM键命令,vim,Vim,有没有办法让%在vim中找到下一个([{或其他什么,即使它不在同一行上 例如: int main(int argc, char ** argv) { #Your cursor is somewhere in this comment, I want #it to get to the ( after printf printf("Hello there.\n"); } 这让人费解……对我来说,%找到了任何{[(无论距离匹配有多少行。我在我的.vimrc中没有看到任
int main(int argc, char ** argv) {
#Your cursor is somewhere in this comment, I want
#it to get to the ( after printf
printf("Hello there.\n");
}
这让人费解……对我来说,%找到了任何{[(无论距离匹配有多少行。我在我的.vimrc中没有看到任何会立即改变这种行为的内容。如果你想在后续行中找到大括号,而不需要插件,只需进入正常模式并键入:
/{ [enter]
其中{是您要查找的支架类型
然后,您可以使用n和n浏览它们
要映射F12键以打开和关闭搜索突出显示,如果我理解正确,您试图让它在下一行找到打开的大括号。如果您抱怨除非整行都是一行,否则它找不到关闭的大括号,我不知道这为什么不起作用 在任何情况下,如果你想%拥有超级能力,就从这个开始。它包含在正态分布中,所以你不必下载它。只需添加
:runtime macros/matchit.vim
对于你的.vimrc,%也会知道很多新的技巧(如何匹配平衡的XML标记if/then/end if语句,这些语句使用的是带有关键字的语言),等等。它不会直接解决你的请求,因为matchit使用了与正常情况相同的限制(它不是在光标处或光标之后开始的匹配,在同一行上)。但由于它可以使用正则表达式搜索作为匹配标记(而不仅仅是字符),因此应该可以对其进行配置,以便打开表达式。\n。{或者一些符合该标准的东西,但在更下面的一条线上拿起一个大括号。看起来吉姆·伯格(Jim Burger)拥有它,但万一你真的问如何搜索这些东西: /[{[(][输入] 这将找到这些符号中的下一个 顺便说一句:在这种情况下,vim足够聪明,可以弄清楚您想要什么,但您通常必须用“\”来避开方括号或圆括号。例如,要搜索下一个右括号,您可以键入(注意\]):
/[\]}][Enter]这一点很好,但是高亮显示会让人讨厌,所以我希望有另一种选择。要关闭搜索高亮显示,请使用“:noh”作为临时修复,或“:set nohlsearch”作为会话修复,或使用“set nohlsearch”我喜欢突出显示我的搜索,但是如果我搜索文件中的每个{,我的屏幕会像泛光灯一样亮起。键入:noh将停止突出显示,直到下次搜索。