入門 GNU Emacs 忘念録

まずは使っているツールを勉強していこう。
そう思ったので入門GNU Emacsを読んでます。
そして、読んで使いそうなコマンドを少しずつ書いていきます。

コマンド

繰り返し処理(数値指定がない場合は4)

C-u 10 C-x u

ファイル保存時の状態まで戻したい

M-x revert-buffer

エラーメッセージの表示

M-p

カーソルの位置から行末までを検索文字列にコピーする

C-s C-y

キルリング保存されている文字列で検索
M-pでキルリングさかのぼれる、M-nで元の文字列に戻れる

C-s M-y

正規表現検索

C-M-s

問い合わせ置換

M-% 

ミニバッファに入力するタイプのコマンドの再実行
M-pでキルリングさかのぼれる、M-nで元の文字列に戻れる

C-x Esc Esc

そのセッションだけ値を変更する

M-x set-variable Enter case-replace Enter nil Enter
>9月25日、追記

複数のバッファをまとめて削除する

M-x kill-some-buffers

これを唯一のウィンドウにする

C-x 1

バッファ名の変更

M-x rename-buffer

バッファの削除

C-x k

現在のバッファを指定されたファイルの内容と入れかえる

C-x C-v

バッファを読み込み専用にする

C-x C-q

ウインドウサイズを大きくする

  • 垂直方向 
C-x ^ 
  • 水平方向
C-x } 

ウインドウサイズを元に戻す

C-x +

ウインドウサイズを内容に合わせる

C-x -

式を評価する

C-x C-e
>10月22日、追記

コマンドを一行実行する(C-u M-!にすると実行結果を同じバッファに表示する)

M-!

Shellモード

M-x shell

以前のコマンドを呼び出す(Shell)

M-p、M-n

最後のコマンドの出力の一行目をウインドウの一番上にする(Shell)

C-x C-r

出力グループ単位で移動する(Shell)

C-c C-p、C-c C-n

バッファをユニークな名前に変更する

M-x rename-uniquely

ファイルを圧縮・展開する(gz、ディレクトリモード)

Z

全てのマークを解除する(ディレクトリモード)

M-Del or * !

ディレクトリをマークする(ディレクトリモード)

 * /

シンボリックリンクをマークする(ディレクトリモード)

 * @

正規表現でマークする(ディレクトリモード)

% m ;;ファイル名マッチ (Dを付けたい場合は % d)
% g ;;ファイルの内容マッチ
% R ;;ファイル名がマッチしたファイルの名前の変更

ファイル名を変更する(mv、ディレクトリモード)

R

ディレクトリの作成(ディレクトリモード)

+

ファイルの内容を検索する(ディレクトリモード)

A
M-, ;; 次のマッチに移動する

キルリングへマークしたファイル名をコピーする(ディレクトリモード)

w

ファイルタイプを表示する(ディレクトリモード)

y

すべてのディレクトリ、サブディレクトリを表示、非表示する(ディレクトリモード)

$

マークを変更する(ディレクトリモード)

 * c

.emacs

デフォルトモードを設定して、マイナーモードも設定

(setq default-major-mode 'text-mode)
(add-hook 'text-mode-hook (lambda () (auto-fill-mode 1)))

キーバイドの変更(kbdの使い方)

(define-key global-map (kbd "C-x C-u") 'undo)

設定を有効にする(t or nil)

(setq-default case-replace t)


分からない場合は、
Lispを理解できる人に助けてもらうのがよいでしょう」
と書いてありました。