Tmux入門教程

WHY

使用Tmux有不少好處。我最看重的是,git

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

Install

服務器上須要根據具體操做系統安裝,包管理通常支持。若不支持,請參考GitHub - tmux/tmux: tmux source code。 Mac上只需以下命令:github

brew install tmux
複製代碼

Config

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

touch ~/.tmux.confbash

# 開啓鼠標模式
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 一組窗口的集合,一般用來歸納同一個任務。session能夠有本身的名字便於任務之間的切換。
  • Window 單個可見窗口。Windows有本身的編號,也能夠認爲和ITerm2中的Tab相似。
  • Pane 窗格,被劃分紅小塊的窗口,相似於Vim中 C-w +v 後的效果。 一圖以蔽之:
    conception.jpg

Session

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

Session主要相關命令以下:spa

# 建立
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 + {/}
複製代碼
相關文章
相關標籤/搜索