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-xu | advertised-undo |
元に戻す |
C-_ | advertised-undo |
元に戻す |
C-/ | advertised-undo |
元に戻す |
M-h | help |
ヘルプ |
M-x | ミニバッファをコマンド受付状態にする | |
M-! | ミニバッファをシェルコマンド受付状態にする | |
C-xC-f | find-file |
開く |
C-xC-s | save-file |
上書き保存 |
C-xC-w | write-file |
別名で保存 |
C-xC-c | save-buffers-kill-emacs |
終了 |
C-xd | 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-xr k | kill-rectangle |
矩形にカット |
C-xr y | yank-rectangle |
矩形にペースト |
C-xr o | open-rectangle |
矩形にスペース |
C-qTAB | タブコード \t 入力 | |
C-xTAB | indent-rigidly |
選択された領域を左右キーで手動インデント |
C-xk | kill-buffer |
バッファを消す = ファイルを閉じる |
C-xb | switch-to-buffer |
バッファを切り替える |
C-xC-b | list-buffers |
バッファリストを開く(下記) |
C-x0 | このwindowを閉じて分割解除 | |
C-x1 | 分割解除してこのwindowを最大化 | |
C-x2 | 上下分割 | |
C-x3 | 左右分割 | |
C-xo | other (next) windowにフォーカスを移す | |
C-x5 0 | delete-frame | |
C-x5 1 | delete-other-frame | |
C-x5 2 | make-frame-command | |
C-x5 o | other-frame | |
C-x5 b | switch-tobuffer-other-frame | |
C-x5 f | find-file-other-frame | |
C-x5 d | dired-other-frame |
list-buffers
C-xC-b
バッファリストを隣のウィンドウで開く。
C-u を頭につけるとファイルを開いてるbufferに限定して。
バッファメニューをそのペインで開くコマンドはずばり buffer-menu
? ヘルプ
o 隣のwindowで開く
f そのwindowで開く (RET
)
k 閉じる候補にマーク
s 保存候補にマーク
x マーク内容の実行
u マーク取り消し
q list終了
dired
C-xd
ファイラのようなバッファ。 コピーや移動もできるけど、まあそれはシェルからやればいい。
o 別バッファで開く
f そのバッファで開く return
v 見てみる
q 終了
繰り返し入力
C-uNX あるいは M-NX で、XをN回入力する。
e.g., C-u79- と打てば水平線を入力できる。
e.g., C-u3C-_ とすれば3操作分だけ元に戻せる。
モード
C-c モード特有コマンドのprefix
M-; モードに従ってコメント記号の自動挿入
M-/ コード補完
list-faces-display
customize-face
Markdown
C-cC-cp preview on browser
C-cC-cm preview on buffer
C-cC-cv write preview and open in browser
C-cC-ce write preview
R (ESS)
M-xR R起動
C-cC-r ess-eval-region
C-cC-q R終了
設定
~/.emacs.d/init.el
https://github.com/heavywatal/dotfiles/blob/master/.config/emacs/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