[Emacs]Emacsとか久々に使ったので基本キー操作やコマンド等を思い出すためにまとめてみる
最近ずっとWin環境であったのと、MacだとTextmateあたりをずっといじっておりEmacsを全然使っていなかったので,色々と思い出すため and 再確認のために基本的なものをまとめてみました.
まぁあとウェブリファレンスとかあってもURLを忘れる可能性が高く、また手元に本が無い場合等不自由極まりないので、自分で使う範囲内で便利そうなものの一覧となっています。
内容は入門 GNU Emacsにあるものを参考にしております。これもwikiに移転する。 現在移転中。。。 とりあえずデフォルトキーバインドくらいは全部補足する勢いでやっておりまする
カーソル移動関連
色々と忘れていた. and C-M 系統書いてない。
1ページ前進
- C-x ]
- forward-page
1ページ後退
- C-x [
- backward-page
バッファの先頭へ
- M-
- beginning-of-buffer
バッファの末尾へ
- M->
- end-of-buffer
指定行へ移動
- M-g g
- goto-line
バッファのn文字目へ
- なし
- goto-char
現在業を画面の中央へ
- C-l
- recenter
次のコマンドをn回繰り返す
- C-x u n(nなしだと何故か4回)
- advertised-undo
1語前進
- M-f
- forward-word
1語後退
- M-b
- backward-word
1センテンス後退
- M-a
- backward-sentence
1センテンス前進
- M-e
- forward-sentence
1パラグラフ前進
- M-}
- forward-paragraph
1パラグラフ後退
- M-{
- backward-paragraph
1画面前進
- C-v
- scroll-up
1画面後退
- M-v
- scroll-down
1文字前進
- C-f
- forward-char
1文字後退
- C-b
- backward-char
1行前進
- C-n
- next-line
1行後退
- C-p
- previous-line
現在のインデント範囲で次の括弧へ
- C-M-f
現在のインデント範囲で次の括弧へ
- C-M-b
次の括弧へ
- C-M-n
前の括弧へ
- C-M-p
次の関数へ
- C-M-e
前の関数へ
- C-M-a
テキスト関連
よく使うキー操作は覚えているのですが、そうでないコマンドは色々と忘れていたようだ
リージョン選択コマンド
リージョンの先頭もしくは末尾をマーク
- C-@, C-Space
- set-mark-command
カーソルとマークの位置交換
- C-x C-x
- exchange-point-and-mark
リージョンを削除
- C-w
- kill-region
リージョンをコピー
- M-w
- kill-ring-save
現在の段落をマーク
- M-w
- mark-paragraph
現在のページをマーク
- C-x C-p
- mark-page
バッファ全体をマーク
- C-x h
- mark-whole-buffer
C-yコマンドの後に、一つ古い削除項目の貼付けにする
- M-y
- yank-pop
C-M-h
- 関数全体をリージョン選択
矩形選択コマンド
矩形を削除、削除したテキストは保存される
- C-x r k
- kill-rectangle
矩形を削除、ただし保存はされない
- C-x r d
- delete-rectangle
最後に削除した矩形を挿入する
- C-x r y
- yank-rectangle
スペースを使用し、マークされたエリアを空欄にする。削除されたテキストは保存されない
- C-x r c
- clear-rectangle
マークされたエリアに空の矩形を挿入する
- C-x r o
- open-rectangle
矩形をレジスタrに保存する
- C-x r r r
- copy-rectangle-to-register
レジスタrに保存されている矩形を挿入する
- C-x r i r
- insert-register
マークされた矩形の中身をstringに挿入する
- C-x r t string Enter
- string-rectangle
各行が入力された文字列からなる矩形を挿入する
- なし
- string-insert-rectangle
矩形の先頭に空白が含まれていない場合その空白を削除して矩形を縮小する
- なし
- delete-whitespace-rectangle
基本インデントコマンド
カーソルとマークの間の全ての行をインデントする
- C-M-\
- indent-region
その行の最初の非空白文字に移動する
- M-m
- back-to-indentation
行の連結コマンド
- M-^
- delete-indentation
テキスト交換コマンド
二つの文字を入れ替える
- C-t
- transpose-char
二つの単語を入れ替える
- M-t
- transpose-words
二つの行を入れ替える
- C-x C-t
- transpose-lines
二つの文を入れ替える
- なし
- transpose-sentences
二つの段落を入れ替える
- なし
- transpose-paragraphs
大文字小文字変換コマンド
単語の先頭を大文字にする
- M-c
- capitalize-word
単語を大文字にする
- M-u
- upcase-word
単語を小文字にする
- M-l
- downcase-word
直前の単語の先頭を大文字にする
- Meta - M-c
直前の単語を大文字にする
- Meta - M-u
直前の単語を小文字にする
- Meta - M-l
削除関連
文字消去
- C-d
- delete-char
直前の文字を消去
- Del
- delete-backward-char
次の単語を削除
- M-d
- kill-word
直前の単語を削除
- M-Del
- backward-kill-word
カーソル位置から行末まで削除
- C-k
- kill-line
次の文を削除
- M-k
- kill-sentence
直前の文を削除
- C-x Del
- delete-backward-sentence
削除した内容を貼付け
- C-y
- yank
マークしたリージョンを削除
- C-w
- kill-region
次の段落を削除
- なし
- kill-paragraph
直前の段落を削除
- なし
- backward-kill-paragraph
ファイル関連
ファイルを開く
- C-x C-f
- find-file
代わりのファイルを読み込みC-x C-fで読んだファイルを入れ替える
- C-x C-v
- find-alternate-file
カーソルの一にファイルを挿入する
- C-x i
- insert-file
バッファの内容をファイルに保存
- C-x C-s
- save-buffer
バッファの内容を指定したファイルに保存
- C-x C-w
- write-file
Emacsを終了する
- C-x C-c
- save-buffer-kill-emacs
コマンド中止、取り消し
現在のコマンドを中止する
- C-g
- keyboard-quit
最後の編集を取り消す
- C-x u
- advertised-undo
最後の編集を取り消す
- C-_ or C-/
- undo
ファイルが最後に保存された時点でのバッファを復元する
- なし
- revert-buffer
検索コマンド
順方向に検索(C-sで順方向移動)
- C-s
- isearch-forward
逆方向インクリメンタル検索(C-rで逆方向移動)
- C-r
- isearch-backward
検索の終了
- Enter
- isearch-exit
検索を取り消す
- C-g
- keyboard-quit
検索文字を削除
- Del
- isearch-delete-char
カーソルが位置している単語を検索
- C-s C-w
- isearch-yank-word
カーソルが位置から行末まで検索
- C-s C-y
- insearch-yank-line
キルリングに保存されている文字列を検索
- C-s M-y
- insearch-yank-kill
単純順方向検索
- C-s Enter 検索 Enter
単純逆方向検索
- C-r Enter 検索 Enter
正規表現関連
順方向に正規表現検索
- C-M-s Enter
- re-search-forward
逆方向に正規表現検索
- C-M-r Enter
- re-search-backward
順方向に正規表現でインクリメンタル検索
- C-M-s
- isearch-forward-regexp
逆方向に正規表現でインクリメンタル検索
- C-M-r
- isearch-backward-regexp
正規表現で置き換える
- C-M-%
- query-replace-regexp
確認なしで正規表現置き換えをする
- なし
- replace-regexp
ヘルプ関連
ヘルプ関連のキー操作は覚えていると非常に役に立つ
ヘルプコマンド(次にa,b,c.. 等と押す必要がある)
- C-h
- help-command
ヘルプコマンドのヘルプ
- C-h C-h or その他多数
- help-for-help
正規表現でコマンドの調査を行う
- C-h a
- apropos-command
- C-h b
- describe-bindings
キー操作に割り当てられている内容の簡単な説明を行う
- C-h c
- describe-key-briefly
正規表現でドキュメント検索を行う
- C-h d
- apropos-documentation
エコーメッセージを見る
- C-h e
- view-echo-area-messages
- C-h f
- describe-function
こんにちはこんにちは
- C-h h
- view-hello-file
Infoをたちあげる
- C-h i
- info-goto-emacs-command-node
指定したコマンドのヘルプを表示する
- C-h k
- describe-key
キーコマンドの説明
- C-h K
- Info-goto-emacs-key-command-node
キー操作のログを見る
- C-h l
- view-lossages
現在のモード情報を見る。便利
- C-h m
- describe-mode
Emacsのニュースを見る
- C-h n
- view-emacs-news
自分のシステムでたどれる全てのパッケージ情報を階層的にたどれる
- C-h p
- finde-by-keyword
ヘルプの終了
- C-h q
- help-quit
Infoを起動する
- C-h r
- info-emacs-manual
バッファの構文テーブルを見る
- C-h s
- describe-syntax
- C-h t
- help-with-tutorial
指定した変数の情報を見る
- C-h v
- describe-variables
指定したコマンドのキーバインディングを見る
- C-h w
- where-is
インプットメソッドの表示
- C-h I or C-h C-\
- describe-input-method
GPLの表示
- C-h C-c
- describe-copying
- C-h C-d
- describe-distribution
EmacsのPROBLEMSの表示
- C-h C-e
- view-emacs-problems
Emacsに関するFAQを見る
- C-h C-f
- view-Emacs-FAQ
C-h n と同じ Emacs-newsを見る
- C-h C-n
- view-emacs-news
Gnu Projectについて見る
- C-h C-p
- describe-gnu-project
EmacsのToDoを見る
- C-h C-t
- view-emacs-todo
Emacsに関わる保証の表示
- C-h C-w
- describe-no-warrantly
バッファ関連
デフォルト設定でもかなり便利
指定されたバッファに移動
- C-x b
- switch-to-buffer
次のバッファに移動(設定変更する事多し)
- C-x
- next-buffer
前のバッファに移動
- C-x
- previous-buffer
バッファリストの表示
- C-x C-b
- list-buffers
指定したバッファの削除
- C-x k
- kill-buffer
指定バッファを確認しつつ保存
- C-x s
- save-some-buffers
全てのバッファを確認しつつ削除
- なし
- kill-some-buffers
バッファの名前を変更する
- rename-buffer
- バッファの名前を指定されたものに変更する
バッファリスト関連
MRキー
- .
- 表示されているバッファ
- %
- 読み込み専用バッファ
- >
- 表示マーク
- *
- 変更されているバッファ
- D
- 削除マーク
- S
- 保存マーク
コマンドリスト
- n, C-n
- 下移動
- p, C-p
- 上移動
- d, k
- 削除フラグをたてる
- s
- バッファに保存フラグをたてる
- u
- バッファのフラグを削除する
- x
- マークされたバッファについて1文字コマンドを実行する
- Del
- バッファのマークを削除する
- ~
- バッファを未修整としてマークする
- %
- バッファを読み込み専用を切り替える
- 1
- バッファをフルスクリーン表示する
- 2
- このバッファと次のバッファを上下両方のウインドウに表示
- f
- バッファリストの代わりにこのバッファを表示する
- o
- 現在のバッファを他のウインドウに表示
- m
- バッファ表示マークをつける
- v
- mでマークされたバッファの表示。 ウインドウは自動的に作られる
- q
- バッファリストの終了
Window関連
左右に二分割
- C-x 2
- split-window-vertically
上下に二分割
- C-x 3
- split-window-horizontally
他のウインドウへ移動する
- C-x o
- other-window
ウインドウを削除する
- C-x 0
- delete-window
自分以外のウインドウを削除する
- C-x 1
- delete-other-window
ウインドウの高さを1つ広げる
- C-x ^
- enlarge-window
ウインドウの高さを1つ縮める
- なし
- shrink-window
ウインドウの幅を1つ広げる
- C-x }
- enlarge-window-horizontally
ウインドウの幅を1つ縮める
- C-x {
- shrink-window-horizontally
ウインドウよりもバッファが小さい場合にウインドウの高さをバッファに合わせて縮める
- C-x -
- shrink-window-if-larger-than-buffer
全てのウインドウの大きさを均等にする
- C-x +
- balance-window
他のウインドウをスクロールする
- C-M-v
- scroll-other-window
他のウインドウにファイルを読み込む
- C-x 4 f
- find-file-other-window
他のウインドウに表示するバッファを選択する
- C-x 4 b
- switch-to-buffer-other-window
現在のウインドウと次のウインドウを比較し、最初の相違点を表示する
- なし
- compare-window
指定したバッファの全てのウインドウを削除する
- なし
- delete-windows-on
ウインドウを右にスクロール
- C-x >
- scroll-right
ウインドウを左にスクロール
-
- C-x
- scroll-left
フレーム関連コマンド
現在のバッファで新しいフレームを作成する
- C-x 5 2
- make-frame
次のフレームに移動する
- C-x 5 o
- other-frame
現在のフレームを削除する
- C-x 5 0
- delete-frame
新しいフレームを作成し、ファイルを読み込み専用で開く
- C-x 5 r
- find-file-read-only-other-frame
新しいフレームを作成し、そこに他のバッファを表示する
- C-x 5 b
- switch-to-buffer-other-frame
Emacs Shell
Shellの起動
- なし
- shell
現在のジョブを中止する
- C-c C-c
- comint-interrupt-subjob
1文字削除 or 末尾だとEOFの送信
- C-d
- comint-delchar-or-maybe-eof
EOFの送信
- C-d C-d
- comint-send-of
現在の行の削除
- C-c C-u
- comint-kill-input
ジョブの一時中断
- C-c C-z
- comint-stop-subjob
直前のジョブを取り出す
- M-p
- comint-previous-input
直後のジョブを取り出す
- M-n
- comint-next-input
コマンドの実行
- Enter
- comint-send-input
コマンドの補完
- Tab
- comint-dynamic-complete
最後のコマンドの出力を削除する
- C-c C-o
- comint-kill-output
出力の1行目をウインドウの一番上に表示する
- C-c C-r
- comint-show-output
出力の最終行をウインドウの一番下に表示する
- C-c C-e
- comint-show-maximum-output
直前のコマンドへ移動する
- C-c C-p
- comint-previous-prompt
直後のコマンドへ移動する
- C-c C-n
- comint-next-prompt
Emacs Diredまとめ
Diredとか便利だし
Dired起動
- C-x d
- dired
マークファイルに正規表現検索
- A
- dired-do-search
バイトコンパイルする
- B
- dired-do-byte-compile
コピー
- C
- dired-do-copy
削除フラグ
- d
- dired-flag-file-deletion
確認後即座に削除
- D
- dired-do-dekete
ファイルの編集
- e
- dired-find-file
ファイルの編集
- f
- dired-advertised-find-file
ディレクトリの再読み込み
- g
- revert-buffer
グループ権限の変更
- G
- dired-do-chgrp
Diredのヘルプ
- h
- describe-mode
ハードリンク作成
- H
- deired-do-hardcopy
サブディレクトリ一覧表示
- i
- dired-maybe-insert-dir
表示から行を削除
- k
- dired-do-kill-lines
ファイルのロード(elisp)
- L
- dired-do-load
マーク
- m
- dired-mark
権限変更
- M
- dired-do-chmdo
次の行へ移動
- n
- dired-next-line
もう1つのウインドウにファイルを読み込み、移動する
- o
- dired-find-file-other-window
もう1つのウインドウにファイルを読み込むが移動しない
- C-o
- dired-display-file
ファイルの所有者を変更する
- O
- dired-do-chown
上の行へ移動する
- p
- dired-previous-line
ファイルの印刷を行う
- P
- dired-do-print
Diredを抜ける
- q
- quit-window
マークを設定したファイルに問いあわせ置換をする
- Q
- dired-do-query-replace
ファイル名の変更をする
- R
- dired-do-rename
シンボリックリンクを作成する
- S
- dired-do-symlink
Diredのソートをする
- s
- dired-sort-toggle-or-edit
マークのトグル
- t
- dired-toggle-marks
マークをとる
- u
- dired-unmark
ファイルを読み込み専用で表示する
- v
- dired-view-file
ファイル名を切るリングへコピーする
- w
- dired-copy-filename-as-kill
削除マークが設定されていたら削除を行う
- x
- dired-do-flagged-delete
fileコマンドでファイルタイプを表示する
- y
- dired-show-file-type
ファイルを圧縮、展開する
- Z
- dired-do-compress
バックアップファイルにフラグをたてる C-u ~で消す
- ~
- dired-flag-backup-files
自動保存ファイルにフラグをたてる C-u #で消す
- #
- dired-flag-auto-save-files
削除するためごみファイルにフラグをたてる
- &
- dired-do-garbage-files
バックアップファイルにフラグをたてる
- .
- dired-clean-directory
そのファイルとマークの位置に有るファイルの比較
- =
- dired-diff
ファイルとバックアップファイルの比較
- M-=
- dired-backup-diff
現在のファイルやマークに指定コマンドの実行をする
- !, X
- dired-do-shell-command
ディレクトリの作成
- +
- dired-create-directory
次のディレクトリへ移動する
- >
- dired-next-dirline
前のディレクトリへ移動する
-
- dired-prev-dirlien
新しいDiredバッファへ親ディレクトリを読み込む
- ^
- dired-up-directory
- $
- dired-hide-subdir
全てのサブディレクトリを名前だけ残して非表示にする
- M-$
- dired-hide-all
次のサブディレクトリに移動(i使用時)
- C-M-n
- dired-next-subdir
前のサブディレクトリに移動(i使用時)
- C-M-p
- dired-prev-subdir
親ディレクトリへ移動(i使用時)
- C-M-u
- dired-tree-up
始めのサブディレクトリに移動(i使用時)
- C-M-d
- dired-tree-down
マークを変更する
- * c
- dired-change-marks
すべてのファイルからマークを取り除く
- * !, M-DEl
- dired-unmark-all-files
実行可能ファイルにマークを設定(C-u *でとりのぞく)
- * *
- dired-mark-executables
ディレクトリにマークを設定する(C-u /でとりのぞく)
- * /
- dired-mark-directories
シンボリックにマークを設定する(C-u @でとりのぞく)
- * @
- dired-mark-symlinks
Dマークされた次のファイルに移動
- M-}
- dired-next-marked-files
Dマークされた前のファイルに移動
- M-{
- dired-prev-marked-files
正規表現で削除フラグを設定
- % d
- dired-flag-files-regexp
内容が正規表現にマッチするファイルにマークを設定する
- % g
- dired-mark-files-containing-regexp
マークを設定したファイルのファイル名を小文字にする
- % l
- dired-downcase
正規表現にマッチするファイル名を変更
- % R
- dired-do-rename-regexp
マークを設定したファイルのファイル名を大文字にする
- % u
- dired-upcase
まとめ的ななにか
全般的に基本的なコマンドを列挙したので、特殊なモードのコマンドは割愛しています. Shell, Diredあたりはよく使うんで入れておきました。 anythingとかその他様々なelispが便利なのはわかるがとりあえず基本機能の再確認的な意味も含めて。
まぁ各モードのコマンドはC-h mあたりをみると色々出てくるのでそれを参考にするとよいかと
他には#nanka#がいざという時にM-x revert-fileあたりで復元機能として役立つとかも知っておくといいやも.
参考
- 入門 GNU Emacs(本)
- C-h 関連のコマンド 特に C-h b, C-h c, C-h w, C-h mあたり
- Emacs クイックリファレンス