2020/04/27
はじめに
また、プログラミング用のエディタには Vim を用いており、Vim 以外の環境でのテキスト編集ではストレスが溜まる。 しかし幸いにも、普段使いのラップトップには Mac である。 Mac の入力ショートカットには、Emacs 風のキーバインドが用意されている。今後自分で見返すためのキーバインドメモを残しておこうと思う。
Ubuntu の人でこれと似たような入力ショートカットを使いたい人向けに、本記事下部に設定コマンドを記した。
何が嬉しいのか?
Vim や Emacs のメリットと被る点が多いだろうが、ホームポジションから指を離さずに移動・削除ができる。 特に、Del キーが存在しない(Fn+backspace が用意されている)Mac においては、カーソル後削除が非常に打ち辛く、以下で紹介する Control との組み合わせを覚えておくと入力中のストレスを低減する助けとなる。
- 矢印キーを押さなくて済む
- backspace, delete(on Mac,
fn+backspace
)を押さなくて済む - 行の先頭・末尾へ一発移動できる
どこで使えるのか?
Mac での入力では基本的にどこでも使える。
- ブラウザ(GoogleDocs ではぜひ使いたい)
- Bash(他、シェル)
しかし、入力している環境で他のキーバインドが割り当てられている場合、競合して使えない可能性がある。
キーバインド一覧
C-<key>
というのは、Control と<key>
の同時押しを意味する。
キー | 機能 |
---|---|
C-f | 右移動(→) |
C-b | 左移動(←) |
C-p | 上移動(ターミナル:履歴戻)(↑) |
C-n | 下移動(ターミナル:履歴進)(↓) |
C-a | 行頭へ移動 |
C-e | 行末へ移動 |
C-h | カーソル前を削除(backspace) |
C-d | カーソル後を削除(fn+backspace |
C-o | カーソル位置に改行を挿入 |
C-t | カーソル前後を入れ替え |
C-k | 行中のカーソル右を削除(ヤンク) |
C-k (範囲選択中に) | 選択範囲を削除(ヤンク) |
C-y | C-k のヤンク内容をペースト |
C-k
からのC-y
について、Command+c
からのCommand+v
のコピペとは別枠である点に注意が必要である。また、C-f,b,p,n
は、Shift
キーでの範囲選択にも対応しているので、Shift+Control+n
で複数行選択してC-k
,C-y
をする事で、複数のコピペも可能。
Ubuntu の人は
gnome-tweak-tools
をインストールして GUI で設定しても良いが、コマンド一発でできる以下の方が楽であろう。以下コマンドは、ask ubuntu のこのページに載っていた。
# Emacs風にするコマンド
$ gsettings set org.gnome.desktop.interface gtk-key-theme "Emacs"
# Defaultに戻すコマンド
$ gsettings set org.gnome.desktop.interface gtk-key-theme "Default"
おわりに
私の知る限りの Control 系のショートカットは以上だが、他にも発見次第追加していこうと思う。 これらを知らない状態よりは圧倒的に文書編集が捗るようになったが、モードの概念がある Vim よりは圧倒的に不便だが、日本語入力する場合は Mac 標準の方が優れていると感じた。
個人的に、電車で作業する際に矢印キーを押さなくて済むのはありがたい。