それでは毛玉諸君、これにて失敬

見習いデータサイエンティストが日々の精進を備忘録的に綴ります。

tmuxを入れてみた

PCを買いたてでテンションが高いので、便利そうなものを色々試しています。
今回は↓の資料で紹介されているtmuxを導入してみました。
vim、fishもこれを見てから使い始めたのでめちゃくちゃ影響うけてます。

speakerdeck.com

開発環境

NAME="Ubuntu"
VERSION="20.04.2 LTS (Focal Fossa)"

導入

これを参考にしながら進めました。

qiita.com

sudo apt install tmux

config

こんな感じにしました。
prefixは押しやすさからCtrl + qにしてます。
デフォルトだと画面を分割したときにアクティブなペインが分かりにくいので、
最後の2行で非アクティブのペインを白っぽく表示するように設定しました。

vim ~/.tmux.conf
# tmuxを256色表示できるようにする
set-option -g default-terminal screen-256color
set -g terminal-overrides 'xterm:colors=256'

# prefixキーをC-qに変更
set -g prefix C-q

# C-bのキーバインドを解除
unbind C-b

# ステータスバーをトップに配置する
set-option -g status-position top

# 左右のステータスバーの長さを決定する 
set-option -g status-left-length 90
set-option -g status-right-length 90

# #P => ペイン番号
# 最左に表示
set-option -g status-left '#H:[#P]'

# Wi-Fi、バッテリー残量、現在時刻
# 最右に表示
set-option -g status-right '#(wifi) #(battery --tmux) [%Y-%m-%d(%a) %H:%M]'

# ステータスバーを1秒毎に描画し直す
set-option -g status-interval 1

# センタライズ(主にウィンドウ番号など)
set-option -g status-justify centre

# ステータスバーの色を設定する
set-option -g status-bg "colour238"

# status line の文字色を指定する。
set-option -g status-fg "colour255"

# vimのキーバインドでペインを移動する
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R

# vimのキーバインドでペインをリサイズする
bind -r H resize-pane -L 5
bind -r J resize-pane -D 5
bind -r K resize-pane -U 5
bind -r L resize-pane -R 5

# | でペインを縦分割する
bind | split-window -h

# - でペインを縦分割する
bind - split-window -v

# 番号基準値を変更
set-option -g base-index 1

# マウス操作を有効にする
set-option -g mouse on
bind -n WheelUpPane if-shell -F -t = "#{mouse_any_flag}" "send-keys -M" "if -Ft= '#{pane_in_mode}' 'send-keys -M' 'copy-mode -e'"

# コピーモードを設定する
# コピーモードでvimキーバインドを使う
setw -g mode-keys vi

# 'v' で選択を始める
bind -T copy-mode-vi v send -X begin-selection

# 'V' で行選択
bind -T copy-mode-vi V send -X select-line

# 'C-v' で矩形選択
bind -T copy-mode-vi C-v send -X rectangle-toggle

# 'y' でヤンク
bind -T copy-mode-vi y send -X copy-selection

# 'Y' で行ヤンク
bind -T copy-mode-vi Y send -X copy-line

# 'C-p'でペースト
bind-key C-p paste-buffer

# アクティブなペインのみ白っぽく変更(真っ黒は232)
set -g window-style 'bg=colour239'
set -g window-active-style 'bg=colour234'

設定後に

tmux source ~/.tmux.conf

を実行するとすぐに反映されます。

動かす

新たなセッションを作成して動かしてみます。
ショートカットキーは、

prefix(Ctrl + q)を押したあとに入力

で実行されます。記事にも書いていますが見落としてしまい、地味に苦戦しました。

感想

ターミナルウィンドウの管理がしやすくなり、非常に快適です。
分割したターミナルの行き来も簡単に出来るので、並行してコードを修正するときなんかは重宝しそう。
これから使い倒していきます。