チートシート

  • 標準のprefix : Control + B
  • prefix + ?でヘルプ

コマンド

actioncommand
セッション開始tmux
名前を指定してセッション開始tmux new-session -s <name>
セッション一覧tmux ls
接続クライアント一覧tmux lsc
セッションを再開tmux a
指定したセッションを再開tmux a -t <session-name>
指定したセッションを削除tmux kill-session -t <session-name>
直近にアタッチしていたセッションを削除tmux kill-session
セッションを全て削除tmux kill-server
設定ファイルを反映tmux source ~/.tmux.conf

セッション

prefix + <?>action
sセッションの一覧選択
dセッションから離脱
$セッション名変更

ウィンドウ

prefix + <?>action
cウィンドウ作成
wウィンドウ一覧選択
&ウィンドウ強制終了
,ウィンドウ名変更
n次のウィンドウに移動
p前のウィンドウに移動
fウィンドウ検索
<number>指定した番号のウィンドウに移動

ペイン

prefix + <?>action
" (``)ペイン横分割
% (-)ペイン縦分割
zペインの最大化(解除)
<arrow>(hjkl), oペインの移動
C-<arrow>(C-hjkl)ペインのリサイズ
qペイン番号を表示
q + <number>指定した番号のペインに移動
xペインを強制終了
t時計を表示
{, }, C-oペインの入れ替え
Spaceレイアウトを変更

コピー

commandaction
prefix + [コピーモードに入る
Space (v)範囲選択モードに入る
Enter (y)選択範囲をコピーする
prefix + ]ペースト

導入

brew install tmux

powerline

フォント設定

git clone https://github.com/powerline/fonts.git
cd fonts
./install.sh

ターミナルの設定から使いたいフォントを選択.

インストール

# pyenv global 3.8.2
pip install powerline-status

カスタマイズ

cp -r ~/.pyenv/versions/3.8.2/lib/python3.8/site-packages/powerline/config_files ~/.config/powerline
ls ~/.config/powerline      #=> colors.json  colorschemes/  config.json  themes/
  • 色 : colorschemes/
  • 表示内容 : themes/

.tmux.confの設定

set-window-option -g mode-keys vi   # viモード
set -g prefix C-e                   # prefixキーをC-eに変更
unbind C-b                          # C-bのキーバインドを解除
bind | split-window -h              # ペイン横分割を`prefix + |`に
bind - split-window -v              # ペイン縦分割を`prefix + -`に

## 全ペイン同時入力のトグルを@にバインド
bind @ setw synchronize-panes \; display "synchronize-panes #{?pane_synchronized,on,off}"

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

## vimのキーバインドでペインをリサイズ
bind -r C-h resize-pane -L 5
bind -r C-j resize-pane -D 5
bind -r C-k resize-pane -U 5
bind -r C-l resize-pane -R 5

## コピーモード
bind-key -T copy-mode-vi v send-keys -X begin-selection
bind-key -T copy-mode-vi y send-keys -X copy-selection-and-cancel

## マウス
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'"

## 256色表示
set -g default-terminal "screen-256color"
set-option -g terminal-overrides 'xterm*:colors=256'

## powerline
run-shell "powerline-daemon -q"
source ~/.pyenv/versions/3.8.2/lib/python3.8/site-packages/powerline/bindings/tmux/powerline.conf

メモ

  • 特殊な記号(セパレータなど)が表示できないとき
    • tmux -uで UTF-8 を明示的に指定してセッションを開始する

参考