Tmux + Oh My Tmux

前言

以前我很喜歡用screen指令,不過現在都改用tmux,加上oh-my-tmux後整個就高大上了

基本安裝

參考資料

tmux

1
yay -S tmux

這個基本上沒難度

oh-my-tmux

1
2
3
4
cd
git clone https://github.com/gpakosz/.tmux.git
ln -s -f .tmux/.tmux.conf
cp .tmux/.tmux.conf.local .

基本使用

Hotkey

Hotkey按鍵方式內容
PrefixCtl+a or Ctl+b組合鍵起手勢
Prefix C-cCtl+a -> Ctl+c開一個新的Session
Prefix -  or  %Ctl+a -> -  or  %開一個垂直的Pane
Prefix _  or  "Ctl+a -> _  or  "開一個水平的Pane
Prefix mCtl+a -> m開啟/關閉滑鼠
Prefix ,Ctl+a -> .重新命名這個Session
Prefix 方向鍵Ctl+a -> 方向鍵選擇區塊
Prefix wCtl+a -> w從列表選擇窗口
Prefix 數字Ctl+a -> 數字跳去數字的分頁
Prefix dC-a + dDetach 整個tmux(同screen)

啟動參數

1
2
3
4
5
6
# 列出在跑的tmux session
tmux ls
# 接著第$數字個session
tmxu at -t $數字
# 接回detach的tmux session
tmux -u attach || tmux -u

進階應用

因為Tmux預設跑得shell不是zsh或是bash,所以可以在~/.tmux.conf內定義

1
2
# 增加一條Globel設定,設為zsh
set -g default-shell /usr/bin/zsh

另外,也可以在~/.zshrc或是/.bashrc內加上這段讓log in的時候會自動進入tmux並銜接deattiach的section

1
2
3
4
5
# ~/.zshrc or ~/.bashrc
--------------------------------------------------------
if command -v tmux &> /dev/null && [ -z "$TMUX" ]; then
tmux attach-session -t default || tmux new-session -s default
fi

這個設定在WSL內很好用,不要用的時候就直接滑鼠關閉視窗,再開一個WSL console就可以直接接上