[英]% VIM Key Command
有没有办法让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");
}
如果你想在后续行上找到开口大括号,没有插件,只需进入普通模式并输入:
/{ [enter]
其中{是你寻找的支撑类型。
然后,您可以使用n和N浏览它们。
要映射F12键以打开和关闭搜索突出显示,请使用此技巧。
如果我理解正确,你试图让它找到即使在下一行的开口支撑。 如果你抱怨它没有找到闭合支撑,除非整个东西是一条线,我不知道为什么那不起作用。
无论如何,如果你想让%有超级大国,那么matchit插件就是你的起点。 它包含在正态分发中,因此您不必下载它。 只需添加
:runtime macros/matchit.vim
对于你的.vimrc,%也会知道很多新的技巧(如果匹配balaced XML标签if / then / end if语句用那些带关键字的语言),等等。它不会直接解决你的请求,因为matchit使用与普通%相同的限制(它在同一行上的光标处或之后开始匹配)。 但是因为它可以使用正则表达式搜索作为匹配标记(而不仅仅是字符),所以应该可以配置它以便打开表达式。 \\ n。 {或者某些符合这个标准的东西,但是在一条线上再拿一个支撑。
那令人费解......对我来说,%找到匹配的任何{[(无论距离匹配多少行。我在.vimrc中看不到任何会改变这种行为的东西,随便。
看起来Jim Burger有它,但万一你实际上是在询问如何搜索这些东西:
/ [{[([] [Enter]
这将找到这些符号中的下一个符号。
顺便说一句:在这种情况下,vim足够聪明,可以找出你想要的东西,但你经常需要用'\\'来逃避正方形或圆形支架。 例如,要搜索下一个右括号,您可以键入(注意\\]):
/ [\\]})] [回车]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.