ポイント付近にある文字を調べるための関数が数多く提供されています。簡単な関数のいくつかはここで説明します。正規表現の検索のlooking-at
も参照してください。
以下の4つの関数でのバッファーの“先頭(beginning)”と“終端(end)”はそれぞれ、アクセス可能範囲の先頭と終端を意味します。
この関数はカレントバッファーの位置position
(つまり直後)の文字をリターンする。positionがこの目的にたいする範囲の外にある場合、すなわちバッファーの先頭より前、またはバッファーの終端以降にあるなら値はnil
。positionのデフォルトはポイント。
以下の例ではバッファーの最初の文字が‘@’であると仮定する:
(string (char-after 1)) ⇒ "@"
この関数はカレントバッファーの位置positionの直前の文字をリターンする。positionがこの目的にたいする範囲の外にある場合、すなわちバッファーの先頭より前、またはバッファーの終端より後にあるなら値はnil
。positionのデフォルトはポイント。
この関数はカレントバッファーのポイントの後にある文字をリターンする。これは(char-after
(point))
と同様。ただしポイントがバッファー終端にある場合には、following-char
は0をリターンする。
ポイントが常に2つの文字の間にあり、カーソルは通常はポイント後の文字上に表示されることを思い出してほしい。したがってfollowing-char
がリターンする文字はカーソル上の文字となる。
以下の例では‘a’と‘c’の間にポイントがある。
---------- Buffer: foo ---------- Gentlemen may cry ``Pea∗ce! Peace!,'' but there is no peace. ---------- Buffer: foo ----------
(string (preceding-char)) ⇒ "a" (string (following-char)) ⇒ "c"
この関数はカレントバッファーのポイントの前の文字をリターンする。上記following-char
の下の例を参照のこと。ポイントがバッファー先頭にあれば、preceding-char
は0をリターンする。
この関数はポイントがバッファー先頭にあればt
をリターンする。ナローイングが効力をもつなら、これはテキストのアクセス可能範囲の先頭を意味する。ポイントのpoint-min
も参照のこと。
この関数はポイントがバッファー終端にあればt
をリターンする。ナローイングが効力をもつなら、これはテキストのアクセス可能範囲の終端を意味する。ポイントのpoint-max
も参照のこと。
この関数はポイントが行の先頭にあればt
をリターンする。テキスト行単位の移動を参照のこと。バッファー(またはアクセス可能範囲)の先頭は、常に行の先頭とみなされる。
この関数はポイントが行の終端にあればt
をリターンする。テキスト行単位の移動を参照のこと。バッファー(またはアクセス可能範囲)の終端は常に行の先頭とみなされる。