移至VIM中的下一个打开或关闭括号

tml*_*lye 7 vim editor

我正在寻找一种方法来移动到某种类型的下一个打开或关闭括号,例如{或}.例:

if(true)
{
   for(int i = 0; i < 10; i++)
   {
       SomeFunction();
       SomeOtherFuntion();
   }
}
Run Code Online (Sandbox Code Playgroud)

假设我的光标在'S'上SomeFunction(),我想跳转到下一个},即for循环的结束括号.

有效的方法是什么?我能想到的唯一方法是使用/}[ENTER],但我想知道是否有更简单的方法.

Ing*_*kat 5

看一看:help motion.txt,它包含所有各种选择。

对于{在第一列中,有]]。对于无与伦比的,]}。在许多语言中,{代表方法的开始,然后]m可以使用。但总的来说,我对您的建议没有问题/}<CR>。如果经常使用,则始终可以为其定义自定义映射:

:noremap ]] /}<CR>
Run Code Online (Sandbox Code Playgroud)

  • 不要忘记`[{{和`]}`来找到最接近的封闭式大括号。不幸的是,这些在VsVim中也不起作用。您可以在工作中安装Vim吗?(我使用Vim进行主要编辑,但是安装VsVim以便在调试器中进行快速更改。) (4认同)