以下で説明する単語をパースする関数は、与えられた文字が単語の一部かどうかを判断するために構文テーブルとchar-script-table
を使用します。構文テーブルと文字のプロパティを参照してください。
この関数はcountの単語数分ポイントを前方に移動する。(countが負なら後方に移動する)。countが省略またはnil
の場合のデフォルトは1。インタラクティブな呼び出しでは、countは数プレフィクス引数により指定される。
“単語1つ移動”とは単語構成文字を横断(これは単語の先頭を示す)して単語の終わりまで移動を継続することを意味する。デフォルトでは単語を開始や終了させる文字は単語境界(word
boundaries)として知られており、これはカレントバッファーの構文テーブル(構文クラスのテーブルを参照)で定義されるが、後述のfind-word-boundary-function-table
を適切にセットすることによりモードはこれをオーバーライドできる。(char-script-table
により定義される)異なるスクリプトに属する文字も単語境界を定義できる(文字のプロパティを参照)。いずれにせよ、この関数はバッファーのアクセス可能範囲の境界やフィールド境界(フィールドの定義と使用を参照)を超えてポイントを移動できない。フィールド境界のもっとも一般的な例はミニバッファー内のプロンプト終端である。
バッファー境界やフィールド境界により途中で停止することなく単語count個分の移動が可能なら値はt
となる。それ以外ではリターン値はnil
となり、ポイントはバッファー境界またはフィールド境界で停止する。
inhibit-field-text-motion
が非nil
なら、この関数はフィールド境界を無視する。
この関数は単語の前に遭遇するまで前方ではなく後方に移動することを除いてforward-word
と同様。
この変数は、forward-word
とbackward-word
、およびそれらを使用するすべての関数の挙動に影響する。これが非nil
なら、構文クラスescapeとcharacter-quote内の文字は単語の一部とみなされる。それ以外なら単語の一部とはみなされない。
この変数が非nil
ならforward-word
、forward-sentence
、forward-paragraph
を含む特定のモーション関数はフィールド境界を無視する。
この変数はforward-word
とbackward-word
、およびそれらを使用するすべての挙動に影響する。値は単語境界を検索するための関数の文字テーブル(文字テーブルを参照)。このテーブル内である文字が非nil
のエントリーをもつ場合には、単語がその文字で開始または終了する際に対応する関数が2つの引数posとlimitで呼び出される。この関数は別の単語境界の位置をリターンすること。具体的には、posがlimitより小さければposは単語の先頭にあり関数はその単語の最後の文字の後の位置、それ以外ならposは単語の最後の文字にあり関数はその単語の最初の文字の位置をリターンすること。
この関数はforward-word
と同様だがfind-word-boundary-function-table
による影響を受けない点が異なる。このテーブルをセットするsubword-mode
のようなモードにより単語単位の移動が変更されている際に挙動を変えるべきではないLispプログラムは、forward-word
のかわりにこの関数を使用すること。
この関数はbackward-word
と同様だが、find-word-boundary-function-table
の影響を受けない点が異なる。forward-word-strictly
と同様に、構文テーブルだけを考慮して単語単位の移動を行う必要がある際には、backward-word
のかわりにこの関数を使用すること。