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

移至VIM中的下一个打开或关闭括号,vim,editor,Vim,Editor,我正在寻找一种方法来移动到某一类型的下一个打开或关闭括号,例如{或}。例如: if(真) { 对于(int i=0;i的操作相同,但相反: :noremap ]] /[{}]<CR> " Find next { or } :noremap [[ ?[{}]<CR> " Find prev { or } :noremap]]/[{}]“查找下一个{或}” :noremap[[?[{}]“查找上一个{或}” code>/}的问题是,我用小指按这三个键,感觉很别扭。我熟悉

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

if(真)
{
对于(int i=0;i<10;i++)
{
SomeFunction();
其他功能();
}
}
假设我的光标位于
SomeFunction()
中的“s”上,我想跳到下一个
}
,即for循环的结束括号


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

看看
:help motion.txt
,它包含所有不同的选项

对于第一列中的
{
,有
]
。对于不匹配的,
]}
。在许多语言中,
{
表示一个方法的开始,然后可以使用
]m
。但是一般来说,我认为您对
/}
的建议没有问题。如果经常使用,则始终可以为其定义自定义映射:

:noremap ]] /}<CR>
:noremap]]/}

稍微扩展Ingo-Karat的信息性回答,这里有一个自定义映射,它重新映射
]
以开始搜索下一个
{
}
[[/code>的操作相同,但相反:

:noremap ]] /[{}]<CR>  " Find next { or }
:noremap [[ ?[{}]<CR>  " Find prev { or }
:noremap]]/[{}]“查找下一个{或}”
:noremap[[?[{}]“查找上一个{或}”

code>/}
的问题是,我用小指按这三个键,感觉很别扭。我熟悉
]
等。但我想要下一个键,不管它是否在第一列。感谢您对[m]的建议,这听起来很有希望,不幸的是,它在VsVim中不起作用,所以似乎映射是唯一的方法。如果您想要VsVim功能,为什么要要求Vim功能?不要忘记
[{
]}
查找最近的封闭大括号。不幸的是,这些在VsVim中也不起作用。你能在工作时安装Vim吗?(我主要使用Vim进行编辑,但安装了VsVim,以便在调试器中进行快速更改。)感谢@dash tom bang,我正在寻找您的评论。