次: , 前: Screen Lines, 上: Motion


29.2.6 式単位の移動

ここでは、釣り合った括弧で囲まれた式 (Emacs内でそれらを単位に移動するときにはS式(sexps)とも呼ばれる)を 扱う関数について述べます。 構文テーブルは、これらの関数がさまざまな文字を どのように解釈するかを制御します。 Syntax Tablesを参照してください。 S式やその一部を走査する下位レベルの基本関数については、 See Parsing Expressions。 ユーザーレベルのコマンドに関しては、 リストとS式に対するコマンドを参照してください。

— コマンド: forward-list arg

この関数は、釣り合った括弧で囲まれたものをarg個前方へ飛び越えて移動する。 (単語や文字列のクォート対などの他の構文要素は無視する。)

— コマンド: backward-list arg

この関数は、釣り合った括弧で囲まれたものをarg個後方へ飛び越えて移動する。 (単語や文字列のクォート対などの他の構文要素は無視する。)

— コマンド: up-list arg

この関数は、前方へ向けてarg個の括弧のレベルを抜ける。 負の引数では後方へ向けて浅いレベルへ移動する。

— コマンド: down-list arg

この関数は、前方へ向けてarg個の括弧のレベルだけ深く入る。 負の引数では後方へ向けて括弧の深い(−arg)レベルへ移動する。

— コマンド: forward-sexp arg

この関数は、arg個の釣り合った式を前方へ向けて飛び越えて移動する。 釣り合った式には、括弧で区切られたものに加えて、 単語や文字列定数などの他の種類も含まれる。 たとえばつぎのとおり。

          ---------- Buffer: foo ----------
          (concat-!- "foo " (car x) y z)
          ---------- Buffer: foo ----------
          
          (forward-sexp 3)
               => nil
          
          ---------- Buffer: foo ----------
          (concat "foo " (car x) y-!- z)
          ---------- Buffer: foo ----------
     
— コマンド: backward-sexp arg

この関数は、arg個の釣り合った式を後方へ向けて飛び越えて移動する。

— コマンド: beginning-of-defun arg

この関数は、前方へ向けてarg個目の関数定義の先頭へ移動する。 argが負であると、後方へ向けて、 関数定義の末尾ではなく関数定義の先頭へ移動する。

— コマンド: end-of-defun arg

この関数は、前方へ向けてarg個目の関数定義の末尾へ移動する。 argが負であると、後方へ向けて、 関数定義の先頭ではなく関数定義の末尾へ移動する。

— ユーザオプション: defun-prompt-regexp

この変数がnil以外であると、 関数定義を始める開き括弧のまえに現れうるテキストを指定する正規表現を保持する。 つまり、関数定義は、 行の先頭がこの正規表現に一致するテキストで始まり、 それに開き括弧の構文に属する文字が続く行で始まる。