一つのターミナルの上で、複数の仮想ターミナルを切り替えて使うことができるscreenというソフトウェアがある。
このソフトウェアには画面分割機能 (Regions) があるのだけど、標準のキーバインドは次のようになっていて、使いやすくない(C-aはエスケープキーを指す)。
- C-a S: 横に2分割する (split)
- C-a |: 縦に2分割する (split -v)
- C-a
: Regionを移動する (focus) - C-a Q: フォーカルのあるRegion以外をすべて閉じる (only)
- C-a X: フォーカスのあるRegionを閉じる (remove)
- 割り当てなし: Regionの大きさを変える (resize)
そういうわけで、これまで画面分割をしたいときは C-a :
から直接コマンドを打ち込んでいた。
ところが、実はscreenでもEmacsのような複数ストロークでのキーバインドを設定することができる。
具体的には、.screenrc に下記のように書くと、C-a x 2
で横分割などができるようになる。
# operate regions like emacs bind x command -c escape-x-map bind -c escape-x-map 2 split bind -c escape-x-map 3 split -v bind -c escape-x-map o focus bind -c escape-x-map 1 only bind -c escape-x-map 0 remove bind -c escape-x-map } resize +10 bind -c escape-x-map { resize -10 bind -c escape-x-map + resize =