Next: , Previous: Insertion, Up: Text


31.5 ユーザーレベルの挿入コマンド

本節では、テキストを挿入する上位レベルのコマンドについて述べます。 これらはLispプログラムでも有用ですが主にユーザー向けのコマンドです。

— コマンド: insert-buffer from-buffer-or-name

このコマンドは、from-buffer-or-name(既存であること)の全内容を カレントバッファのポイントのうしろに挿入する。 挿入されたテキストのうしろにマークを置く。 値はnilである。

— コマンド: self-insert-command count

このコマンドは、最後に打たれた文字を挿入する。 ポイントのまえにcount回挿入してnilを返す。 ほとんどの印字文字はこのコマンドにバインドされている。 普通の状況では、self-insert-commandは Emacsにおいてもっとも頻繁に呼び出される関数であるが、 プログラムではキーマップに登録する以外にはほとんど使わない。

対話的に呼ばれると、countは数値前置引数である。

このコマンドは、挿入した文字が空白や改行であると、 auto-fill-functionnil以外であると auto-fill-functionを呼び出す (see Auto Filling)。

このコマンドは、略語(abbrev)モードがオンであり、かつ、 挿入した文字が単語構成構文でないと、略語展開を行う。 (Abbrevsとsee Syntax Class Table。)

挿入した文字が閉じ括弧構文であるときに blink-paren-functionを呼び出す責任も持つ (see Blinking)。

— コマンド: newline &optional number-of-newlines

このコマンドは、カレントバッファのポイントのまえに改行を挿入する。 number-of-newlinesを指定すると、その個数だけ改行文字を挿入する。

この関数は、現在のコラム番号がfill-columnの値よりも大きく number-of-newlinesnilであると auto-fill-functionを呼び出す。 auto-fill-functionの典型的な仕事は改行を挿入することである。 ここでの全体としての効果は、改行を2つの異なる位置、つまり、 ポイント位置と行のまえの箇所に挿入することである。 newlineは、number-of-newlinesnil以外であると 自動詰め込みを行わない。

このコマンドは、左端の余白が0以外であるとその分だけ字下げする。 see Margins

戻り値はnilである。 対話的に呼ばれると、countは数値前置引数である。

— コマンド: split-line

このコマンドは、行のポイントのうしろの部分を垂直に降ろして 変更前の真下に行を移動することで現在行を分割する。 関数indent-toを用いて、降ろした行の先頭に必要に応じて白文字を挿入する。

プログラムではまったくこの関数を使わない。

— Variable: overwrite-mode

この変数は、上書き(overwrite)モードがオンかどうかを制御する。 この値は、overwrite-mode-textualoverwrite-mode-binarynilのいずれかであること。 overwrite-mode-textualは、テキストの上書きモード (改行とタブを特別に扱う)を指定し、 overwrite-mode-binaryは、バイナリの上書きモード (改行やタブも他の文字と同様に扱う)を指定する。