GNU Emacs 32.0.50 (9008bf64c3) のマニュアルを PLaMo 翻訳で機械翻訳したものです。誤訳を含むことがあります。原文: https://www.gnu.org/software/emacs/manual/html_node/elisp/Word-Motion.html ・ emacs-doc.conao3.com

31.2.2 言葉による運動

以下に説明する単語解析関数では、構文テーブルとchar-script-tableを用いて、特定の文字が単語の一部であるかどうかを判定します。構文テーブルおよび文字プロパティを参照してください。

コマンド: forward-word &optional count

この関数は、ポインタを count 単語分前方に移動させます(count が負の場合は後方に移動させます)。count が省略された場合、または nil が指定された場合は、デフォルトで 1 となります。対話的な呼び出しでは、count は数値プレフィックス引数で指定されます。

「1単語分移動する」とは、ポイントが単語の開始を示す単語構成文字を通過するまで移動し、その後、単語が終わるまで移動し続けることを意味します。デフォルトでは、単語境界と呼ばれる単語の開始および終了を示す文字は、現在のバッファの構文テーブル(構文クラス表を参照)によって定義されますが、モードでは後述する適切なfind-word-boundary-function-tableを設定することで、これを上書きできます。異なるスクリプトに属する文字(char-script-tableで定義)も単語境界を定義します(文字プロパティを参照)。いずれの場合においても、この関数でポイントをバッファのアクセス可能な範囲の境界を超えて移動させたり、フィールド境界(フィールドの定義と使用を参照)を越えさせたりすることはできません。フィールド境界の最も一般的な例は、ミニバッファにおけるプロンプトの末尾です。

バッファ境界やフィールド境界によって途中で停止することなく、count単語分移動できる場合、値はtとなります。そうでない場合、戻り値はnilとなり、ポインタはバッファ境界またはフィールド境界で停止します。

inhibit-field-text-motion が nil でない場合、この関数はフィールド境界を無視します。

コマンド: backward-word &optional count

この関数はforward-wordとほぼ同じですが、前方ではなく単語の先頭に到達するまで後方に移動する点が異なります。

ユーザーオプション: words-include-escapes

この変数は、forward-word および backward-word、ならびにそれらを使用するすべての要素の動作に影響します。値が nil 以外の場合、エスケープおよび文字クォート構文クラスに属する文字は単語の一部としてカウントされます。それ以外の場合は、カウントされません。

変数: inhibit-field-text-motion

この変数がnil以外の場合、forward-word、forward-sentence、forward-paragraphを含む特定のモーション関数はフィールド境界を無視します。

変数: find-word-boundary-function-table

この変数は、forward-word および backward-word、ならびにそれらを使用するすべての要素の動作に影響します。その値は、単語境界を検索するための関数を格納した文字テーブル(文字テーブルを参照)です。ある文字についてこのテーブルに nil 以外のエントリがある場合、その文字で単語が開始または終了すると、対応する関数が pos と limit の2つの引数とともに呼び出されます。この関数は、もう一方の単語境界の位置を返すべきです。具体的には、pos が limit より小さい場合、pos は単語の先頭にあり、関数は単語の最後の文字の後の位置を返す必要があります。そうでない場合、pos は単語の最後の文字にあり、関数はその単語の最初の文字の位置を返すべきです。

関数: forward-word-strictly &optional count

この関数は forward-word と同様ですが、find-word-boundary-function-table の影響は受けません。subword-mode のように当該テーブルを設定するモードによってワード移動が変更された際にも動作を変えてはならない Lisp プログラムでは、forward-word の代わりにこの関数を使用する必要があります。

関数: backward-word-strictly &optional count

この関数は backward-word と同様ですが、find-word-boundary-function-table の影響は受けません。forward-word-strictly と同様に、単語による移動で構文テーブルのみを考慮すべき場合は、backward-word の代わりにこの関数を使用してください。