elispの関数
やさしいEmacs-Lisp講座の第三章に出てくる関数をざっとまとめたメモ。
移動境界の検査
- bobp
- ポイントがバッファ先頭にあればt,なければnilを返す
- eobp
- ポイントがバッファ末尾にあればt,なければnilを返す
- bolp
- ポイントが行頭にあればt,なければnilを返す
- eolp
- ポイントが行末にあればt,なければnilを返す
相対移動
- forward-char
- ポイントを文字単位で1つ前方に進める。引数を与えるとその数だけ進む。
- backward-char
- ポイントを文字単位で1つ後方に進める。引数を与えるとその数だけ進む。
- forward-line
- ポイントを次の論理行に進める。引数を与えるとその数だけ行移動する。負の数値を与えると先頭方向へ行移動する。C-nはnext-lineでforward-lineとは別
- forward-sexp
- S式を単位に移動する。通常M-C-fに割り当てられている。
- backward-sexp
- S式を単位に移動する。通常M-C-bに割り当てられている。
絶対移動
- point
- 現在の位置のポイント値を返す。
- mark
- マーク位置のポイント値を返す。マーク位置がないとエラーを返す。引数にnil以外を指定すると、マークがない場合にnilを返す。
- region-beginning
- ポイントとマークのうち、小さい方の値を得る。マークが設定されていない場合はエラー
- region-end
- ポイントとマークのうち、大きい方の値を得る。マークが設定されていない場合はエラー
- point-min
- バッファの先頭位置のポイント値を返す
- point-max
- バッファの末尾のポイント値を返す
- goto-char
- 引数のポイント値の場所に移動する。
- save-excursion
- save-excurtionに入った時点のポイント位置、マーク位置、カレントバッファを記憶し、引数中の処理を行った後にそれらを復帰する。
- goto-line
- 引数で指定した論理行に飛ぶ。
- move-to-window-line
- ウィンドウの先頭行を基準に指定行に移動する。画面の先頭の行は0で、引数を省略すると画面の中央に移動する。余り使わない。
- beginning-of-line
- ポイントを行頭に移動する
- end-of-line
- ポイントを行末に移動する。
- move-to-column
- 指定した桁位置に移動する。行頭は0桁目。
- current-column
- 現在の桁位置を返す。
単純文字列検索
- search-forward
- 文字列を順方向に向かって検索する。
- search-backward
- 文字列を逆方向に向かって検索する。
- word-search-forward, word-search-backward
- 文字単位の検索
文字種スキップ
- skip-chars-forward
- 列挙した文字群をスキップする。指定した文字群のどれかがポイント位置にある限り、ポイントを先に進める。
- skip-chars-backward
- 逆方向にスキップする
正規表現で検索
- re-search-forward
- 正規表現にマッチする文字列を順方向に向かって検索する。文字列が見つかった場合は、ポイントをマッチした文字列全体の終端に移動し、その場所のポイント値を返す。
- re-search-backward
- 正規表現にマッチする文字列を逆方向に向かって検索する。
- string-match
- 文字列中に正規表現とマッチする部分があるかどうかを照合する。マッチしたら開始位置を返し、なければnilを返す
- looking-at
- ポイント位置以降が指定した正規表現にマッチするか照合する。マッチしたらtを、そうでない場合はnilを返す
- char-after
- 指定したポイント位置の文字コードを返す。与えた値が範囲外の時はnilを返す
- char-before
- 指定したポイント位置の直前位置の文字コードを返す。与えた値が範囲外の時にはnilを返す
- following-char
- 現在のポイント位置の文字コードを返す。
- preceding-char
- 現在のポイントの直前の位置の文字コードを返す。バッファ先頭で評価した場合は0を返す
検索結果の参照
- match-beginning
- 指定したグループ番号(括弧でくくった何個目の箇所か)の先頭のポイント値を取り出す。
- match-end
- 指定したグループ番号(括弧でくくった何個目の箇所か)の最後のポイント値を取り出す
- buffer-substring
- ポイント値で指定した範囲のバッファ中の文字列を返す。match-beginning や match-endと組み合わせて使うと検索したバッファ中の文字列を取り出せる。
- save-match-data
- match-dataの内容を保存して引数内を評価した後で、match-dataの内容を復帰する。
現在の論理行番号を調べる
(count-lines (point-min) (point))