端末の画面を分割して表示したいと思った。
linuxの画面分割について調べてみると、tmuxやterminatorとかいうソフトウェアで実現できるとのこと。
terminatorは端末エミュレーターのひとつ、tmuxは端末マルチプレクサーのひとつらしい。 端末エミュレーター、端末マルチプレクサーとはなにか?よくわからなかった。今のところ以下のようにぼんやりと解釈している。合っているかはわからない。
- 端末エミュレーター… 端末をエミュレートする。GUIからコンソールを覗ける?有名なのはgnome terminal, terminator, iterm2(Mac)など。
- 端末マルチプレクサー…ひとつの仮想端末から複数のログインセッション(?)を扱える?有名なのはtmux,GNU screen, byobuなど。
画面分割機能はterminator,tmuxのどちらでも実現可能。 リモートからSSH接続したときでも画面分割が利用できるので、tmuxを入れることにする。
.tmux.confファイルに設定を記入する。ここを参考にした。 qiita.com
上記リンクのコピーモード設定はMacのもの。下記のページ群を参考に、Ubuntu版をファイルに記入した。 Everything you need to know about Tmux copy paste - Ubuntu · rushiagr coderwall.com qiita.com
# キーストロークのディレイを減らす set -sg escape-time 1 # マウス操作を有効にする setw -g mouse # 256色端末を使用する set -g default-terminal "screen-256color" # ステータスバーの色を設定する set -g status-fg white set -g status-bg black # ウィンドウリストの色を設定する setw -g window-status-fg cyan setw -g window-status-bg default setw -g window-status-attr dim # アクティブなウィンドウを目立たせる setw -g window-status-current-fg white setw -g window-status-current-bg red setw -g window-status-current-attr bright # ペインボーダーの色を設定する set -g pane-border-fg green set -g pane-border-bg black # アクティブなペインを目立たせる set -g pane-active-border-fg white set -g pane-active-border-bg yellow # コマンドラインの色を設定する set -g message-fg white set -g message-bg black set -g message-attr bright # ステータスバーを設定する ## 左パネルを設定する set -g status-left-length 40 set -g status-left "#[fg=green]Session: #S #[fg=yellow]#I #[fg=cyan]#P" ## 右パネルを設定する set -g status-right "#[fg=cyan][%Y-%m-%d(%a) %H:%M]" ## リフレッシュの間隔を設定する(デフォルト 15秒) set -g status-interval 60 ## ウィンドウリストの位置を中心寄せにする set -g status-justify centre ## ヴィジュアルノーティフィケーションを有効にする setw -g monitor-activity on set -g visual-activity on ## ステータスバーを上部に表示する set -g status-position top # コピーモードを設定する ## viのキーバインドを使用する setw -g mode-keys vi ## コピーモードの操作をviライクに設定する bind-key -t vi-copy v begin-selection bind-key -t vi-copy y copy-pipe "xsel --input --clipboard"
なお、普通にマウスでコピーしたいときは、shiftキーを押しながらコピーすればよい。地味に大事な情報だと思う。