Next: ポイント位置の変更, Up: 基本的な編集コマンド [Contents][Index]
普通のグラフィック文字(graphic character)(例 ‘a’、‘B’、‘3’、‘=’)は、対応するキーをタイプして挿入することができます。これによりバッファーのポイント位置に文字が追加されます。挿入によりポイントは前方に移動するので、ポイントは挿入された文字の直後になります。ポイントを参照してください。
行を終了して新しい行を開始するにはRET(newline
)を入力します(キーボードでRETキーは、ReturnやEnter、もしくは↲のような奇妙な左矢印のラベルがついているかもしれませんが、このマニュアルではRETと呼ぶことにします)。このコマンドは改行文字をバッファーに挿入してから、メジャーモードに基づきインデント(インデントを参照してください)を行います。ポイントが行末にある場合には、新しく空行を作成してから新しい行をインデントします。もしポイントが行の途中にある場合、行はその位置で分割されます。自動インデントをオフにするには、Electric
Indentモード(インデントの便利な機能を参照してください)を無効にするか、自動インデントを行わず改行だけを挿入するC-jを入力します。
マニュアルの後ろで説明しますが、マイナーモード(minor modes)を利用することにより、Emacsが挿入を処理する方法を変更できます。たとえばAuto Fillモードというマイナーモードは行が長くなりすぎたとき自動的に行を分割します(テキストのフィルを参照)。Overwrite modeというマイナーモードは、既存の文字を右方に押しやるかわりに、既存の文字を置き換え(上書き)ます。マイナーモードを参照してください。
対応するキーを押して挿入できるのはグラフィック文字だけです。他のキーは編集コマンドとして動作し、文字自体の挿入はしません。たとえば、デフォルトではDELは、コマンドdelete-backward-char
を実行します(違うコマンドにバインドされているモードもあります)。このキーはリテラルの‘DEL’(ASCIIの文字コード127)を入力する訳ではありません。
非グラフィック文字や、キーボードがサポートしていない文字を挿入するには、最初にC-q
(quoted-insert
)で文字をクォート(quote)します。C-qの使い方は2つあります:
8進数字での入力は、通常の非バイナリーのOverwriteモードでは無効になっています。それにより上書きすることなく数字を挿入する便利な方法が提供されます。
8進のかわりに10進や16進を使うには、変数read-quoted-char-radix
に、10や16をセットします。もし基数が16の場合、aからfは文字コードの一部として扱われます。大文字小文字は区別されません。
数は多くありませんが、一般的なUnicode文字はC-x 8で始まるコマンドを通じて挿入できます。たとえばC-x 8 [は『‘』を挿入します。これはUnicodeコードポイントU+2018 LEFT SINGLE QUOTATION MARK (単独の左“curved quote”、または“curly quote”と呼ばれることもあり)を挿入します。同様にC-x 8 ]は『’』、C-x 8 {は『“』、C-x 8 }は『”』を挿入します。またAltキーも(後にRETが続かない) C-x 8と同じように機能します。たとえばA-[はC-x 8 [と同様に『‘』を挿入します。どの文字がC-x 8による短縮入力をもつかを確認するにはC-x 8 C-hとタイプしてください。
かわりにコマンドC-x 8 RET
(insert-char
)を使うこともできます。これはミニバッファーを使って、Unicode名かコードポイント(code-point)の入力を求めます。もし名前を入力する時、コマンドが補完機能を提供します(補完を参照してください)。コードポイントを入力する場合、それは16進(Unicodeの規約による)、または指定した基数の数字(例
#o23072
(octal); Integer Basics in The Emacs Lisp
Reference Manualを参照してください)であるべきです。このコマンドは対応する文字をバッファーに挿入します。
たとえば以下はすべて同じ文字を挿入します:
C-x 8 RET left single quotation mark RET C-x 8 RET left sin TAB RET C-x 8 RET 2018 RET C-x 8 [ A-[ (Altキーが機能する場合) ` (Electric Quoteモードの場合)
C-qまたはC-x 8 ...への数引数は、文字のコピーを何個挿入するかを指定します(数引数を参照してください)。
C-x 8のかわりに、C-u C-x \ iso-transl RETとタイプして対応する一時入力メソッド(transient input method)を選択することを選択できます。その場合には一時入力メソッドが一時的にアクティブになり、C-x \ [とタイプすることによって同じ文字‘が入力されます(transient input methodを参照)。
さらに加えて、あるコンテキストにおいては、`like this'のようにクォートにgrave accentとapostropheを使用した場合は、たとえC-x 8コマンドを使用していなくても、これは1つのクォーテーションマークを使用した形式``like this''のように変換されます。同様に、``like this''のように2重のgrave accentとapostropheを使用した場合、これはダブルクォーテーションマークを使用した形式“like this”のように変換されます。クォーテーションマークを参照してください。