このセクションではテキスト挿入のための高レベルコマンド、ユーザーによる使用を意図しているがLispプログラムでも有用なコマンドについて説明します。
このコマンドはfrom-buffer-or-name
(存在しなければならない)のアクセス可能範囲全体をカレントバッファーのポイントの後に挿入する。マークは挿入されたテキストの後に残される。値はnil
。
このコマンドはタイプされた最後の文字を挿入する。これをポイント前でcount回繰り返してnil
をリターンする。ほとんどのプリント文字はこのコマンドにバインドされる。通常の使用ではself-insert-command
はEmacsでもっとも頻繁に呼び出される関数だが、Lispプログラムではそれをキーマップにインストールする場合を除いて使用されるのは稀。
インタラクティブな呼び出しではcountは数プレフィクス引数。
自己挿入では入力文字はtranslation-table-for-input
を通じて変換される。Translation of Charactersを参照のこと。
これは、入力文字がテーブルauto-fill-chars
内にあり、auto-fill-function
が非nil
なら常にそれを呼び出す(Auto Fillingを参照)。
このコマンドはAbbrevモードが有効で、かつ入力文字が単語構成構文をもたなければabbrev展開を行う(AbbrevsとSyntax Class Tableを参照)。さらに入力文字が閉カッコ構文(close parenthesis
syntax)をもつ場合にはblink-paren-function
を呼び出す責任もある(Blinkingを参照)。
このコマンドは最後にフックpost-self-insert-hook
を実行する。たとえばタイプされたテキストにしたがい自動インデントするためにこれを使用できる。
self-insert-command
の標準的な定義にたいして、独自の定義による置き換えを試みてはならない。エディターコマンドループはこのコマンドを特別に扱うからだ。
このコマンドはカレントバッファーのポイントの前に改行を挿入する。number-of-newlinesが与えられたら、その個数の改行文字が挿入される。
この関数はカレント列数がfill-column
より大、かつnumber-of-newlinesがnil
ならauto-fill-function
を呼び出す。auto-fill-function
が通常行うのは改行の挿入であり、最終的な結果としてはポイント位置と、その行のより前方の位置という2つの異なる箇所に改行を挿入する。number-of-newlinesが非nil
ならnewline
はauto-fillを行わない。
このコマンドは左マージンが0でなければ、左マージンにインデントする。Marginsを参照のこと。
リターン値はnil
。インタラクティブな呼び出しではcountは数プレフィクス引数。
この変数はoverwriteモードが効力をもつかどうかを制御する。値はoverwrite-mode-textual
、overwrite-mode-binary
、またはnil
。overwrite-mode-textual
はテキスト的なoverwriteモード(改行とタブを特別に扱う)、overwrite-mode-binary
はバイナリーoverwriteモード(改行とタブを普通の文字と同様に扱う)を指定する。