✍️

Terminalで使えるEmacs Key Bindings

2024/03/24に公開

LinuxやMacOSではカーソル移動の操作でEmacs Key Bindingsが使えます。
これまではCtrl+fCtrl+aなど、基本的なカーソル移動しか使っていませんでした。

しかし、カーソル移動以外にも文字列の編集などでもEmacs Key Bindingsが使えることを知りました。
備忘のために記事にまとめます。

以後のKey Bindingsは、自分が普段使いしているMacBookAirのターミナルで操作できることを確認済みです。
まずは利用頻度高い、Macのterminal操作で使い、その後はサーバー上などLinux環境でも使えるか試していく予定です。

動作環境

  • MacBookAir M1
  • OS14.4
  • Iterm(Terminal)

Terminalで使えるKey Bindings

凡例
C - Ctrl
M - esc

移動系

操作 内容
C-b 一文字左
C-f 一文字右
C-p 一文字上
C-n 一文字下
C-e 行末
C-a 行頭
M-f 一単語右
M-b 一単語左

編集系

操作 内容
C-d カーソル位置の文字を削除
M-d カーソルから単語削除(カーソルから後方の単語)
M-Backspaces カーソルから単語削除(カーソルから前方の単語)
C-k カーソルから行末までの文字を削除
C-y 操作した内容の貼り付け
M-y C-yを実行した後に、その前にカットしたテキストをペースト
C-t 二つの文字を入れ替える(カーソルの位置と、その前の文字)
M-t 二つの単語を入れ替える(カーソルの位置と、その前の単語)
M-c 次の単語の最初の文字を大文字にする
M-u 次の単語全体を大文字にする
M-l 次の単語全体を小文字にする
C-Space or C-@ マーク。コピーを開始したい位置にカーソルを移動してマーク。その後にコピーしたい位置までカーソルを移動し範囲指定する
M-w コピー(マークから現在のカーソル位置まで)
C-w カット(マークから現在のカーソル位置まで)
C-y 記憶内容を貼り付け

操作の取り消し

※EmacsKeyBindingで行った操作は、Command + Zでは取り消せない

操作 内容
C-x u OR C- _(アンダースコア) ※C- -(ハイフン)でも可能でした

参考資料

https://www.oreilly.co.jp//books/9784814400485/
https://vinelinux.org/docs/vine6/emacs-guide/emacs-basic.html

Discussion