Linux编辑器--vim的tag29.3
由于程序是有结构的,因此vim可以识别其中的项。一些命令可以用于穿梭。
c程序一般具有类似如下的结构:
#ifdef USE_POPEN
fd=popen("ls","r")
#else
fd=fopen("tmp","w")
#endif
但是可能更长,并且有更多嵌套。使得光标在#ifdef然后按下%,vim将跳转到#else,继续按%则跳转到#endif。继续按,则回到#ifdef。
当结构被嵌套,vim能够发现匹配项。这是一个检查你是否忘记#endif的好方法。
当你在#if-#endif之内时,你可以跳转到开始,使用: [#
如果跳转到下一个#else或者#endif,则使用:]#。
在CODE块中穿行
在C code块,是以{}包围的。这可以非常的长。跳出到块的开始,使用 [[,使用][会发现结尾。这是在假定{和}都是在第一列情况下。
[{跳转到块的开始,]}则跳转到最后。
当写C++和Java代码的时候{}可以是class的块。下一个级别的{}是方法。在一个class中,使用[m找到之前的方法的开始,]m找到方法的下一个结束。
另外 []达到函数的结束而]]到达下个函数的开始。函数的结束是由第一列的}定义的。
别忘了,你也可以用%来进行(),{},[]的匹配。
在braces中穿梭
[(和)]命令与[{ 和]}类似,只是它们匹配的是(),而不是{}。
在注释中穿梭
注释开始,使用[/,注释结束使用]/。这仅仅对/*-*/有用。