Next: , Up: Basic   [Contents][Index]


7.1 テキストの挿入

普通のグラフィック文字(graphic character)(例 ‘a’、‘B’、‘3’、‘=’)は、対応するキーをタイプして挿入することができます。これによりバッファーのポイント位置に文字が追加されます。挿入によりポイントは前方に移動するので、ポイントは挿入された文字の直後になります。Pointを参照してください。

行を終了して新しい行を開始するにはRET(newline)を入力します(キーボードでRETキーは、ReturnEnter、もしくは↲のような奇妙な左矢印のラベルがついているかもしれませんが、このマニュアルではRETと呼ぶことにします)。このコマンドは改行文字をバッファーに挿入してから、メジャーモードに基づきインデント(Indentationを参照してください)を行います。ポイントが行末にある場合には、新しく空行を作成してから新しい行をインデントします。もしポイントが行の途中にある場合、行はその位置で分割されます。自動インデントをオフにするには、Electric Indentモード(Indent Convenienceを参照してください)を無効にするか、自動インデントを行わず改行だけを挿入するC-jを入力します。

マニュアルの後ろで説明しますが、マイナーモード(minor modes)を利用することにより、Emacsが挿入を処理する方法を変更できます。たとえばAuto Fillモードというマイナーモードは行が長くなりすぎたとき自動的に行を分割します(see Filling)。Overwrite modeというマイナーモードは、既存の文字を右方に押しやるかわりに、既存の文字を置き換え(上書き)ます。Minor Modesを参照してください。

対応するキーを押して挿入できるのはグラフィック文字だけです。他のキーは編集コマンドとして動作し、文字自体の挿入はしません。たとえば、デフォルトではDELは、コマンドdelete-backward-charを実行します(違うコマンドにバインドされているモードもあります)。このキーはリテラルの‘DEL’(ASCIIの文字コード127)を入力する訳ではありません。

非グラフィック文字や、キーボードがサポートしていない文字を挿入するには、最初にC-q (quoted-insert)で文字をクォート(quote)します。C-qの使い方は2つあります:

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キーもC-x 8と同じように機能します。たとえばA-[C-x 8 [と同様に、『‘』を挿入します。どの文字がC-x 8による短縮入力をもつかを確認するには、C-x 8 C-hとタイプしてください。

かわりにコマンドC-x 8 RET (insert-char)を使うこともできます。これはミニバッファーを使って、Unicode名かコードポイント(code-point)の入力を求めます。もし名前を入力する時、コマンドが補完機能を提供します(Completionを参照してください)。コードポイントを入力する場合、それは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 ...への数引数は、文字のコピーを何個挿入するかを指定します(Argumentsを参照してください)。

さらに加えて、あるコンテキストにおいては、`like this'のようにクォートにgrave accentとapostropheを使用した場合は、たとえC-x 8コマンドを使用していなくても、これは1つのクォーテーションマークを使用した形式‘like this’のように変換されます。同様に、``like this''のように2重のgrave accentとapostropheを使用した場合、これはダブルクォーテーションマークを使用した形式“like this”のように変換されます。Quotation Marksを参照してください。