Open4

Bashのマニュアルから学ぶEmacsのキーバインド

ねらい

  1. ずっとvimわからんてゆってる
  2. わからんvimよりemacsのほうがいいのでは
  3. Emacsだってキーバインドがわからんし
  4. いやBashでふだんから一部使うてるやんけ

そういうわけでBash→Emacsへとステップアップする足がかりとしていろいろ書く。

Bashのマニュアル

https://www.gnu.org/software/bash/manual/bash.html#Commands-For-Moving

使わないもの

覚えないと決めたものたち。一生覚えられん。

macOS、Windowsともに似た感じで応用できる。

最小単位での上下左右の移動

  • ふつうにカーソル移動キー(矢印キー)を使う。
  • previous / next / forward / back は分かるけど、キートップに印字された矢印の記号↑↓→←とキーの十字状の配置の分かりやすさに勝るものなし
  • ふつうのアプリケーションでは、修飾キー (Shift) を押しながら上下左右とカーソルを移動させることで、直感的に範囲選択できる点も魅力。
    • Emacsではできないけど。
  • 付け加えると、同様の理由でPCゲームにおけるWASDによる移動もわからん。

単語間の移動

  • option + 左右の矢印キーを使う。
  • 上記の通り、分かりやすさに勝るものなし。
    • 左右の矢印キーと修飾キーを重ねるだけでカーソル移動の挙動を変えられるのは直感に反しない。
  • 範囲選択もやはりShiftキーと組み合わせることで挙動を重ねがけできる点でわかりやすい。

よく使うもの

macOSではcommand [⌘] キーと上下左右キーを合わせたキーバインドが有効だがBashでは普通使えないのでEmacs風のキーバインドでだいようすることになる。

beginning-of-line (C-a) / end-of-line (C-e)

clear-screen (C-l)

reverse-search-history (C-r) / forward-search-history (C-s)

fzfと併せてつかってる

end-of-file (usually C-d)

delete-char (C-d)

quoted-insert (C-q or C-v)

kill-line (C-k) / unix-line-discard (C-u)

kill-word (M-d) / unix-word-rubout (C-w)

deleteキー連打よりも早く消せる

yank (C-y)

要はペースト

abort (C-g)

fzfのよびだしのときとか
^G

undo (C-_ or C-x C-u)

Ctrl+Z

Ctrl+Shift+-のほうが馴染んでる

display-shell-version (C-x C-v)

bash --versionとしない

edit-and-execute-command (C-x C-e)

これ超大事

作成者以外のコメントは許可されていません