我正在寻找一种方法来移动到某种类型的下一个打开或关闭括号,例如{
或}
。例如:
if(true)
{
for(int i = 0; i < 10; i++)
{
SomeFunction();
SomeOtherFuntion();
}
}
假设我的光标在SomeFunction()
的'S'上,我想跳转到下一个}
,即for循环的结束括号。
有效的方法是什么?我能想到的唯一方法是使用/}[ENTER]
,但我想知道是否有更简单的方法。
答案 0 :(得分:5)
查看:help motion.txt
,它包含所有各种替代方案。
对于第一列中的{
,有]]
。对于无与伦比的,]}
。在许多语言中,{
表示方法的开头,然后可以使用]m
。但总的来说,我认为你对/}<CR>
的建议没有问题。如果经常使用它,您可以随时为它定义自定义映射:
:noremap ]] /}<CR>
答案 1 :(得分:3)
稍微扩展Ingo Karat的内容丰富的答案,这是一个自定义映射,重新映射]]
以开始搜索下一个{
或}
和[[
同样但在反向:
:noremap ]] /[{}]<CR> " Find next { or }
:noremap [[ ?[{}]<CR> " Find prev { or }