読者です 読者をやめる 読者になる 読者になる

はてブロ@ama-ch

https://twitter.com/ama_ch

入門GNU Emacs はじめに〜2章まで まとめ

Emacs

入門 GNU Emacs 第3版

入門 GNU Emacs 第3版


GNU Emacsに入門しました!


知らなかったコマンド(ほとんどだけど)やTipsをメモメモします。
今回は、

  • 1章
  • 2章
    • テキストの編集

までです。


オライリーだから結構身構えていたけど、ウィンドウの写真でコマンドの使用前,使用後が載っていたり、節ごとにコマンドが表にまとめられていて、思いのほか読みやすい。これはいい「入門」!

ファイルを開く,保存する

キー操作 動作
C-x C-v ファイルを開き直す
C-x i ファイルの挿入
C-x C-w 名前を付けて保存

カーソルの移動

キー操作 動作
M-{ 前の段落へ
M-} 次の段落へ
M-x goto-line Enter n n行目へ移動
M-x goto-char Enter n n文字目へ移動

M-x goto-lineはデバッグとかする時に使えそう。

コマンドの繰り返し

キー操作 動作
M-30 C-n 30行下へ移動
C-u 30 C-n 同上
C-u C-n (値を省略すると)4行下へ移動
C-u C-u C-n 16行下へ移動(C-u1回で*4)

C-uで値を省略すると4回実行で、C-uを複数書くと*4されていくのは初めて知った。ちゃんと使えば便利そう!

テキストのマーク,削除,移動,コピー

キー操作 動作
Meta - C-k 行の先頭からカーソル位置までを削除
M-k 次の文を削除
C-x h バッファ全体をマーク
C-x C-x カーソルとマークの位置を交換
C-w リージョン(選択領域)をキル(カット)
M-w リージョンをコピー
C-y M-y 以前の削除内容を呼び出し(以降M-y繰り返し)
M-x set-variable Enter kill-ring-max Enter n Enter キルリングのサイズをnに変更(デフォルトでは30)

Meta - C-kは、「メタキーとハイフン(-)を同時に押したあと、Ctrlとkを同時に押す」という意味。今までC-kしか知らなかったから、これは重宝する。
Carbon Emacsを使っている場合、C-Spaceでマークを設定しようとするとMacのSpotlightが起動してしまいます。
C-@を使うのも手ですが、システム環境設定からSpotlightのキーボードショートカットを変更すれば、EmacsでC-Spaceが使えるようになります。

クリップボードへのテキスト入力

Linux Windows Mac OS X(GUI) Mac OS X(CUI)
クリップボードへのコピー しない する する しない
キルリングへのコピー する する する しない

クリップボードと、Emacsでのキルリングは似てるようで違うことを意識しないといけませんね。
GUIEmacsならそれほど気にしなくても良さそうだけど。

誤った文字順の修正

キー操作 動作
C-t カーソル位置とその前の文字を入れ替える
M-t 単語を入れ替える
C-x C-t 行を入れ替える

地味に便利!

アルファベットの修正
キー操作 動作
M-c カーソル位置のアルファベットを大文字にする
M-l カーソル位置からの単語全体を小文字にする
M-u カーソル位置からの単語全体を大文字にする
Meta - コマンド 直前の単語に対して上記のコマンドを実行

Meta - M-c なら、直前の単語の先頭を大文字にすることができます。カーソル位置を気にせずに修正できるという訳ですね!

その他

キー操作 動作
C-_ or C-/ or C-x u → 任意の方向へカーソル移動 or C-g Redo(Undoの方向が変わる)

Emacsには形式的にredoコマンドはないけど、undoの「方向を変える」ことで似たようなことができます。
例えばC-/でundoを繰り返し行って戻りすぎてしまった場合、一旦カーソルを移動させるかC-gを入力します。その後C-/で再びundoを実行すると、方向が変わっているのでundoを逆順に辿れます。