Next: Buffer End Motion, Previous: Character Motion, Up: Motion [Contents][Index]
以下で説明する単語をパースする関数は、与えられた文字が単語の一部かどうかを判断するために構文テーブルとchar-script-table
を使用します。Syntax TablesとCharacter Propertiesを参照してください。
この関数はcountの単語数分ポイントを前方に移動する。(countが負なら後方に移動する)。countが省略またはnil
の場合のデフォルトは1。インタラクティブな呼び出しでは、countは数プレフィクス引数により指定される。
“単語1つ移動”とは単語構成文字を横断して、単語の先頭を示す単語区切り文字に遭遇するまでポイントを移動することを意味する。単語境界(word
boundaries)として知られる単語の開始と終了の文字は、デフォルトではカレントバッファーの構文テーブル(Syntax Class Tableを参照)により定義されるが、以下で説明するfind-word-boundary-function-table
を適切にセットすることによりモードはこれをオーバーライドできる。(char-syntax-table
で定義される)異なるスクリプトに属するも単語境界を定義する(Character Propertiesを参照)。いくつかのケースでは、この関数はバッファーのアクセス可能範囲の境界およびフィールド境界(Fieldsを参照)を超えてポイントを移動できない。フィールド境界のもっとも一般的な例は、ミニバッファー内のプロンプト終端である。
バッファー境界やフィールド境界により途中で停止することなく単語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
、およびそれらを使用するすべての挙動に影響する。値は単語境界を検索するための関数の文字テーブル(Char-Tablesを参照)。このテーブル内である文字が非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
のかわりにこの関数を使用すること。