向前移动emacs中的复合语句

时间:2013-04-24 19:28:04

标签: c emacs

是否有emacs命令在C或C ++文件中的复合语句上前进?

如果我有以下代码

^ if (foo)
{
   doSomething();
}$

并且重点是插入符号^),我希望能够执行M-x forward-compound-statement RET之类的操作并将其移至美元符号。

forward-sexp似乎应该是正确的命令,但这只会超过一个单词,将该点放在if之后。 c-end-of-statement也是错误的,因为它只会转到第一个右括号。

编辑:对于if-then-else-if-else块,我理想地希望它超过所有其他块。

我也希望将来使用这种内部防御,所以关键笔划不像是有一个命令来执行它而不是重复命令直到我看到它到达正确的位置。

1 个答案:

答案 0 :(得分:1)

对于特定的主要模式,forward-compound-statement之类的东西可能非常存在。我不打算去学习它们。

相反,我建议您习惯使用更多可组合的命令来导航,例如 C-s 。您可以尝试使用jump-char来缩短一个键的顺序。