2017年10月18日水曜日

terminalのEmacsで複数タブを使用する

 terminal上でEmacsを画面二分割して使っている。
 それでもさらに画面が欲しくなるときがよく、ある。
 そういうときはterminalのタブ機能を使ってもうひとつ、Emacsを立ち上げていたのだけれど、これがけっこう面倒臭い。ふたつのEmacsは別プロセスなのでkillリング1が共有されていない。なので、terminaiのカット&ペースト機能を使うしかなくて……選択操作はマウスを使わなくっちゃいけない。
 あの、マウスつけてないんですけど。っていつもマウス持ってきていた。
 面倒臭い。
 ——なんとか複数Emacsでkillリングを共有する方法はないものか。
 つらつら考えて、そもそも複数Emacsを立ち上げなければ、いいということに気づいた。
 emacsclientである。
 最初のタブでserver-modeのEmacsを立ち上げておいて必要になったとき、次のタブで「emacsclient -nw」でEmacsを立ち上げる。これは実際にはserver-modeのEmacsなので、ひとつのEmacsで別々の画面を使っていることになる。
 当然、killリングは共有されているので、タブ間のカット&ペーストも自由自在。キー操作はEmacsそのもの(当たり前)。terminalのEmacsにタブ機能がついたみたいだ。ふたつ目のEmacsの起動、むちゃくちゃ早いし2
 ひさびさにEmacsってすげーって思った。

Footnotes:

1

killリングはEmacsのカット&ペースト用のバッファ

2

実際には起動してないので当たり前。