これらのコマンドはコードの単位、いわゆるセンテンス(sentences:文)にもとづきポイントの移動やリージョンのセットアップを行います。センテンスが考慮されるのは通常は人間向け言語を記述するときですが、Emacsではプログラミング言語の特定の構文単位の移動にも同じコマンドが使用できます(センテンス, see defunの移動を参照)。プログラミング言語におけるセンテンスとは、通常はdefunより小さく、sexpより大きな完全な言語構文のことです(List Motion in The Emacs Lisp Reference Manualを参照)。この場合におけるセンテンスとは正確には何なのかはプログラミング言語次第ですが、通常だと変数の定義や初期化、条件文のような完全な命令文のことです。C言語におけるセンテンスは以下のようになるかもしれません
int x = 5;
JavaScript言語なら
const thing = () => console.log("Hi");
const foo = [1] == '1' ? "No way" : "...";
カレントまたは直前のセンテンスの先頭に移動します(backward-sentence
)。
カレントまたは直後のセンテンスの最後に移動します(forward-sentence
)。
カレントのセンテンスの先頭または最後に移動するコマンドは、M-a (backward-sentence
)とM-e
(forward-sentence
)です。これらのコマンドの1つを繰り返すか、正の数引数を使用すると、繰り返しごとに動作方向の次のセンテンスに移動します。
M-aに負の引数−nを与えると、n個次のセンテンスの最後に移動、同じようにM-eに負の引数を与えると、その個数文前のセンテンスの先頭に移動します。