前: List Motion, 上: Motion
つぎの2つの関数は、指定した種類の文字を飛び越えてポイントを移動します。 たとえば、白文字を飛び越すためにこれらはしばしば使われます。 関連する関数については、Motion and Syntaxを参照してください。
この関数は、指定した文字の集まりを飛び越えて、 カレントバッファ内で前方にポイントを移動する。 ポイントのあとの文字を調べ、 その文字がcharacter-setに一致するとポイントを進める。 これをcharacter-setに一致しない文字に達するまで繰り返す。 この関数は飛び越えた文字の個数を返す。
引数character-setは、正規表現の`[...]'の内側と同じであるが、 `]'は特別扱いせず、`\'は`^'や`-'や`\'をクォートする。 したがって、
"a-zA-Z"
はすべての英文字を飛び越えて 最初の英文字でない文字のまえで止まる。"^a-zA-Z"
は英文字でない文字を飛び越えて最初の英文字で止まる。 see Regular Expressions。limitを指定すると(数かマーカであること)、 ポイントを移動できるバッファ内の最大位置を指定する。 ポイントは、limitで止まるかlimitに達するまえに止まる。
つぎの例では、ポイントは最初は`T'の直前に位置している。 フォームを評価後には、ポイントはその行末 (`hat'の`t'と改行のあいだ)に位置している。 この関数は、すべての英文字と空白を飛び越えるが、改行は飛び越えない。
---------- Buffer: foo ---------- I read "-!-The cat in the hat comes back" twice. ---------- Buffer: foo ---------- (skip-chars-forward "a-zA-Z ") => nil ---------- Buffer: foo ---------- I read "The cat in the hat-!- comes back" twice. ---------- Buffer: foo ----------