3

C または C++ ファイルの複合ステートメントを前方に移動する emacs コマンドはありますか?

次のコードがある場合

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

ポイントはキャレット( )にあります。次のようなことができて、ポイントをドル記号に移動^できるようにしたいと思います。M-x forward-compound-statement RET

forward-sexpこれは正しいコマンドのように思えますが、if の後にポイントを置いて、1 つの単語をステップオーバーするだけです。 c-end-of-statement最初の閉じ括弧にしか行かないので、これも間違っています。

編集: if-then-else-if-else ブロックの場合、理想的にはすべての else ブロックを通過したいと思います。

私はまた、これを私が将来書く defun 内で使用したいと考えています。そのため、キーストロークは、正しい場所に到達するまでコマンドを繰り返すのではなく、1 つのコマンドで実行するよりも問題が少なくなります。

4

1 に答える 1

1

特定のメジャーモードのようなものforward-compound-statementが非常によく存在する可能性があります。私はそれらを学ぶことを気にしません。

代わりに、 などのより構成可能なコマンドを使用してナビゲートすることに慣れることをお勧めしますC-s。jump-char のようなものを試して、シーケンスを 1 つのキーだけ短くすることができます。

于 2013-04-25T01:04:31.260 に答える