zshな環境でGNU Screenのセッションのレジューム機能を最小限の労力で利用する方法

今日, GNU Screenのセッションのレジュームをしようとした時にzshの有難さを再認識しました. zshGNU Screenを一緒に使われている方は, 今回紹介するtipはすでにご存知かもしれません.

今まで, GNU Screenのセッションをレジュームしたい時には, 以下のようなコマンドを打って, セッションの一覧を表示させ, -rオプションにセッションのPIDを手入力していました. ずっと前に, はてなid:aqlさんがMac Bookを操られている所を拝見させて頂いた時も, 同じようにPIDを手入力されていたので, これが一般的なやり方なんだとずっと思い込んでいました. でも, いちいちセッションのPIDを手入力しなければならないことに, 今まで不満を持ち続けていました.

% screen -r
There are several suitable screens on:
        32628.pts-10.devel      (Detached)
        31525.pts-1.devel       (Detached)
        29928.pts-7.devel       (Attached)
Type "screen [-d] -r [pid.]tty.host" to resume one of them.

% screen -r 32628

それで, 今日, シェルにzshを使っている場合, もっと手軽にセッションのレジュームができることを偶然発見しました.

手順は以下の通りです.

まず, ターミナルに「screen -r 」まで入力します. 次に, tabキーを押します. そうすると, レジューム可能なセッションの候補が補完されます. tabキーを押す毎に, 候補となるセッションが順に補完されます.

% screen -r 

(tabキーを押す)
% screen -r pts-10.devel
pts-10.devel      pts-1.devel

これによって, セッションのPIDを手入力するよりかは, 遥かに簡単にレジュームできます. また, PIDを打ち間違って, レジュームに失敗するといったことも無くなります.

今日はzshの補完機能にちょっと感動した1日でした.