Emacs 基本操作

忘れがちな Emacs の操作についてメモしていこうと思う。

コントロール キー コマンド

Control文字を C- で表記します。例えば、C-d (Control-d) コマンドを実行するためには、Controlキーを押しながら d をタイプします。
Emacs には4種類の コントロール キー コマンド があります。

  • シングル キー コマンド : C-k (カーソルから行末まで消去)、C-a (行の先頭へカーソルを移動)、C-s (テキストの検索) など。

  • 拡張 コマンド : C-x で始まり、もう1つの コマンド列 または 文字 が続きます。C-x は、他のコマンドが続くことを示すための接頭辞です。C-x C-f (ファイルを見る)、C-x b (他のバッファへ移動) などがあります。

  • 3キー コマンド : C-x 4 で始まるコマンド。例えば、C-x 4 b (別のウインドウへ移動)。

  • カスタム コマンド : C-c で始まるコマンド。C-x と同様に、C-c はそれに続くコマンドのための接頭辞です。カスタム コマンド は、特定のモードにおいて設定されています。例えば、アウトライン モード では、C-c C-n は次のアウトラインの先頭に移動することを意味し、さらに FORTRAN モードでは、C-c C-n は次の文への移動を意味します。

メタ コマンド

Meta キー を使うコマンドは、メタ コマンドと呼ばれます。メタ コマンドの表記法は、M- となり、M がメタ キー を表現しています。
メタ キー は、コンピュータによって異なります。メタ キーの割り当ては、次の4つの場合があります。

  • Meta ラベルがついているキー : もしもキーボードが Meta とラベルされたキーを持っていれば、その Meta キーを押しつつ コマンド キー を押すことによって、メタ コマンド を実行できます。

  • Meta 以外のラベルがついているキー : Extend char キーが、メタ キー になっている場合もあります。その メタ キー に割り当てられた Extend char キーを押しつつ コマンド キー を押すことによって、メタ コマンド を実行できます。

  • ESC キー : メタ キー が定義されていないときには、ESC (Escape キー) で始まる連続キー操作によって メタ コマンド を実行できます。M-v を実行するためには、まず ESC を押し、その後で v をタイプします。v をタイプする間、ESC を押し続ける必要はありません。C-M-v を入力するには、まず ESC を押し、そして Control キーを押しながら v をタイプします。

  • C-[ シーケンス : Meta キー や ESC キー がない場合には、メタ キー として C-[ を入力してください。C-M-v の例からわかるように、コントロール キー と メタ キー はいっしょになって1つのコマンドを指定するように用いられます。

コマンドの中止

即座に実行されるコマンドを除いて、どんなコマンドも C-g によって中止できます。


ファイル コマンド

C-x C-w バッファの名前を変え、その内容を新しい名前のファイルに書き込む
C-x C-s 同じ名前のファイルへバッファをセーブ
C-x C-f ファイルをバッファへロード

Emacs の終了

C-x C-c Emacs の作業を終え、バッファを保存するかを質問する。
C-u C-x C-c バッファを保存するかを質問せずに Emacs を終了する。

バッファ

M-x buffer-menu 使用中のバッファ名をリストする (使用中のウィンドウに表示する)
C-x C-b 使用中のバッファ名をリストする (別のウィンドウに表示する)
C-x b バッファを切り替える
C-x k バッファを削除する

カーソルを移動する

C-f 1文字前進
C-b 1文字後退
M-f 1単語前進
M-b 1単語後退
C-n 1行下へ
C-p 1行上へ
C-e 行の末尾へ
C-a 行の先頭へ
M-e 文章の末尾へ
M-a 文章の先頭へ
M-> バッファの末尾へ
M-< バッファの先頭へ
C-v 次の1画面をスクロール
M-v 前の1画面をスクロール

テキストを削除する

DEL カーソルの1文字の消去。カーソルが行の先頭にあるときには、その行を上の行とつなげます。
BS / C-b 1文字前の消去。カーソルが行の末尾にあるときには、その行を下の行とつなげます。
C-k カーソルから行の末尾までの全ての文字を消去します。カーソルが行の末尾にあるときには、その行を下の行とつなげます。

間違いを取り消す

C-x u / C-_ 直前の編集コマンドの作用を取り消します。

テキストのリージョンによる移動

  1. 移動したいリージョンを定義します。
    1. リージョンの先頭となる文字にカーソルを移動します。
    2. マークを設定するための C-SPC / C-@ を入力します。
    3. リージョンの末尾となる文字にカーソルを移動します。
  1. C-w によってリージョンを削除します。このテキストは完全には消滅しておらず、削除リングと呼ばれる仮の場所に移動しています。

  2. 削除したブロックを移動する場所の直前へカーソルを移動します。

  3. C-y コマンドを用い、削除リングのテキストをバッファへ書き込みます。

テキストのリージョンによるコピー

  1. 移動したいリージョンを定義します。
    1. リージョンの先頭となる文字にカーソルを移動します。
    2. マークを設定するための C-SPC / C-@ を入力します。
    3. リージョンの末尾となる文字にカーソルを移動します。
  1. M-w によってリージョンを削除リングへコピーします。

  2. 削除したブロックを移動する場所の直前へカーソルを移動します。

  3. C-y コマンドを用い、削除リングのテキストをバッファへ書き込みます。

テキストを検索する

C-s 順方向への検索。
C-r 逆方向への検索。
C-M-s 正規表現検索
M-% 検索置換



オンラインブートキャンプ無料説明会
TITLE

自己紹介

50才になる半導体エンジニアです。
大学で電子電気工学を学び、1990年にその分野のまま就職。ASICやマイコンの設計を長く続けてきましたが20年も同じ分野にいると業態も衰退したり変化するもので退職し、今は外資のIT系会社に再就職して設計請負業をやっております。
お問い合わせは
nakata.xianzhi@outlook.com







Linux と 小ネタ

デジタル回路設計

海外駐在後記