Tmux入門教程

WHY

使用Tmux有很多好處。我最看重的是,

  1. 遠程服務器上持久地保存工作狀態。比如,我在本地或服務器做某項工作,需要在Terminal打開幾個窗口。每次換工作,還需要切換。用Tmux,便可以按照Session進行管理,每次輕鬆打開切換。
  2. 隨時隨地斷開或連接Session。比如,在服務器上面運行一條命令,但是擔心連接斷開後命令終止,此時在tmux中運行命令,此時斷網關機便問題不大,只需隨後恢復Session便可以

Install

服務器上需要根據具體操作系統安裝,包管理一般支持。若不支持,請參考GitHub - tmux/tmux: tmux source code
Mac上只需如下命令:

brew install tmux

Config

Tmux默認不支持鼠標滾動查看窗口中的前後內容。需要修改配置來支持。

touch ~/.tmux.conf

# 開啓鼠標模式
set-option -g mouse on

# 允許鼠標選擇窗格
# set -g mouse-select-pane on
​
# 如果喜歡給窗口自定義命名,那麼需要關閉窗口的自動命名
set-option -g allow-rename off
​
# 如果對 vim 比較熟悉,可以將 copy mode 的快捷鍵換成 vi 模式
set-window-option -g mode-keys vi

如果對鼠標滾動效果依舊不滿意,可以參考這篇blog:Better mouse scrolling in Tmux

Conception

tmux的主要元素分爲三層:

  • Session 一組窗口的集合,通常用來概括同一個任務。session可以有自己的名字便於任務之間的切換。
  • Window 單個可見窗口。Windows有自己的編號,也可以認爲和ITerm2中的Tab類似。
  • Pane 窗格,被劃分成小塊的窗口,類似於Vim中 C-w +v 後的效果。
    一圖以蔽之:


Session

Tmux爲了防止與全局快捷鍵衝突,大部分快捷鍵需要先需要輸入前綴Ctrl + b,下文用Prefix代替。

Session主要相關命令如下:

# 創建
tmux new # 不指定session name
tmux new -s [session-name]

# 刪除Session
tmux kill-session -t [session-name]
tmux kill-server

# 列出當前Session
tmux ls # 
Prefix s # tmux 內

# 恢復Session
tmux a -t [session-name]
tmux a

# 斷開Session
tmux detach
Prefix d

# 重命名Session
Prefix $

Window

# 創建
Prefix c

# 選擇窗口
Prefix + [number] # 選擇第n個窗口
Prefix + p/n    # 前/後一個窗口

# 關閉窗口
Prefix &
exit

# 列出所有window(包含其他Session)
Prefix w 
j/k # 前後選擇

# 搜索窗口
Prefix f

# 重命名當前窗口
Prefix ,

Pane

# 創建
Prefix %    # 水平窗格
Prefix "    # 垂直窗格"

# 關閉
Prefix x

# 切換 
Prefix o # 在窗格間切換
Prefix q    # 顯示窗格編號,輸入編號切換

# 將當前窗格切換到新窗口
Prefix !

# 窗格交換位置
Prefix + {/}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章