3

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

如果我有以下代码

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

并且重点是插入符号(^),我希望能够做类似的事情M-x forward-compound-statement RET并将重点移至美元符号。

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

编辑:在 if-then-else-if-else 块的情况下,我理想情况下希望它经过所有 else 块。

我也希望在将来编写的 defuns 中使用它,因此与使用一个命令来完成它而不是重复一个命令直到我看到它到达正确的位置相比,击键不是一个问题。

4

1 回答 1

1

对于特定的主要模式,类似的东西forward-compound-statement很可能存在。不过,我不会费心去学习它们。

相反,我建议您习惯于使用更多可组合的命令进行导航,例如C-s. 您可以尝试使用 jump-char 之类的方法来一键缩短序列。

于 2013-04-25T01:04:31.260 回答