Emacs
単語
- buffer
- ファイル編集領域
- minibuffer
- 画面の下端でコマンドを受け付けるところ
- kill-ring
- paste board
- window
- tmuxでいうpane
- frame
- tmuxでいうwindow
Keybind
C- は左手小指の control
M- は esc または C-[
key | command | action |
---|---|---|
C-g | keyboard-quit |
とにかくキャンセル |
C-z | suspend-emacs |
とりあえずemacsを抜ける |
C-x u | advertised-undo |
元に戻す |
C-_ | advertised-undo |
元に戻す |
C-/ | advertised-undo |
元に戻す |
M-h | help |
ヘルプ |
M-x | ミニバッファをコマンド受付状態にする | |
M-! | ミニバッファをシェルコマンド受付状態にする | |
C-x C-f | find-file |
開く |
C-x C-s | save-file |
上書き保存 |
C-x C-w | write-file |
別名で保存 |
C-x C-c | save-buffers-kill-emacs |
終了 |
C-x d | dired |
directory edit に突入 (下記) |
C-s | isearch-forward |
下に検索 |
C-r | isearch-backward |
上に検索 |
M-% | 置換 | |
C-@ | set-mark-command |
開始位置をマーク |
C-SPC | set-mark-command |
(IME切り替え) |
C-w | kill-region |
マークから現在地までカット |
M-w | copy-region-as-kill |
マークから現在地までコピー |
C-y | yank |
貼り付け |
C-x r k | kill-rectangle |
矩形にカット |
C-x r y | yank-rectangle |
矩形にペースト |
C-x r o | open-rectangle |
矩形にスペース |
C-q TAB | タブコード \t 入力 | |
C-x TAB | indent-rigidly |
選択された領域を左右キーで手動インデント |
C-x k | kill-buffer |
バッファを消す = ファイルを閉じる |
C-x b | switch-to-buffer |
バッファを切り替える |
C-x C-b | list-buffers |
バッファリストを開く(下記) |
C-x 0 | このwindowを閉じて分割解除 | |
C-x 1 | 分割解除してこのwindowを最大化 | |
C-x 2 | 上下分割 | |
C-x 3 | 左右分割 | |
C-x o | other (next) windowにフォーカスを移す | |
C-x 5 0 | delete-frame | |
C-x 5 1 | delete-other-frame | |
C-x 5 2 | make-frame-command | |
C-x 5 o | other-frame | |
C-x 5 b | switch-tobuffer-other-frame | |
C-x 5 f | find-file-other-frame | |
C-x 5 d | dired-other-frame |
list-buffers
C-x C-b
バッファリストを隣のウィンドウで開く。
C-u を頭につけるとファイルを開いてるbufferに限定して。
バッファメニューをそのペインで開くコマンドはずばり buffer-menu
? ヘルプ
o 隣のwindowで開く
f そのwindowで開く (RET
)
k 閉じる候補にマーク
s 保存候補にマーク
x マーク内容の実行
u マーク取り消し
q list終了
dired
C-x d
ファイラのようなバッファ。 コピーや移動もできるけど、まあそれはシェルからやればいい。
o 別バッファで開く
f そのバッファで開く return
v 見てみる
q 終了
繰り返し入力
C-u N X あるいは M-N X で、XをN回入力する。
e.g., C-u 79 - と打てば水平線を入力できる。
e.g., C-u 3 C-_ とすれば3操作分だけ元に戻せる。
モード
C-c モード特有コマンドのprefix
M-; モードに従ってコメント記号の自動挿入
M-/ コード補完
list-faces-display
customize-face
Markdown
C-c C-c p preview on browser
C-c C-c m preview on buffer
C-c C-c v write preview and open in browser
C-c C-c e write preview
R (ESS)
M-x R R起動
C-c C-r ess-eval-region
C-c C-q R終了
設定
~/.emacs.d/init.el
https://github.com/heavywatal/dotfiles/blob/master/.emacs.d/init.el
package.el でパッケージ管理
Emacs 24で標準入りしたので、基本的にこれを使うのが良さそう。
まずinit.el
の先頭でこのように宣言
(require 'package)
(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/"))
;; Added by Package.el. This must come before configurations of
;; installed packages. Don't delete this line. If you don't want it,
;; just comment it out by adding a semicolon to the start of the line.
;; You may delete these explanatory comments.
(package-initialize)
あとは使いたいパッケージを以下のように列挙。
(package-install 'flycheck)
(package-install 'auto-complete)
(package-install 'markdown-mode)
initialize後に
(package-refresh-contents)
を入れておくとパッケージ情報を最新に保てるが、
結構遅いので気が向いたときに手動でやったほうがいい:
M-x package-list-packages
U x