使用tmux
程序员文章站
2022-07-16 21:29:49
...
tmux是一个用于终端复用的软件,它允许一个用户在一个终端窗口或远程终端会话中使用多个不同的终端会话。在同一个命令行接口处理多个程序,以及将程序从已经开始运行另外的程序的Unix shell中分离出来,是非常有用的。 — 維基百科
在使用tmux之前,我的窗口是這樣的
切換環境常常搞得暈頭轉向,如同下圖中的Jimmy
如果連接遠程服務器的話,每次連接斷開再連都需要重新進一遍環境,不堪其繁。有了tmux,即使斷開,再進入時,只需要attach,瞬間回到之前離開時的場景,實在痛快。
安裝 tmux 十分簡單, 在 ubuntu 中 $ sudo apt-get install tmux
tmux會保留多個工作環境,只要不kill它,不重啓電腦,就一直在。有了tmux, 我們就能愉快的工作了。
分割視圖
上圖左側列出了tmux保存的環境列表,第2號環境擁有2個window, 我們可以在這幾個環境中*地切換。
資源
命令
下面表格中,bash 表示輸入命令執行,tmux 表示在 tmux 開啓時使用快捷鍵執行,prefix 表示前綴,默認爲 <C-b>, 即同時按住 Control 和 b
指令 | bash | tmux |
---|---|---|
新建 | tmux new -s session-name | <prefix>:new -s session-name |
新窗口 | <prefix>c | |
切換窗口 | <prefix>p[or n or number] | |
連接 | tmux attach [-t session-name] | |
斷開 | exit | <prefix>d |
停止 | tmux kill-session -t session-name | |
重命名 | tmux rename-session -t old-name new-name | <prefix>, |
列出 | tmux ls | <prefix>s |
垂直分割 | <prefix>% | |
水平分割 | <prefix>” | |
pane最大 | <prefix>z | |
pane resize | <prefix>C-Arrow | |
退出pane | exit | <C-d> |
~/.tmux.conf
~/.tmux.conf 是 tmux 默認的配置文件,下面的設置對應 vi 中移動光標的指令。bind h select-pane -L
表示按鍵 h 時,相當於按了箭頭左。這是使用 vim 的同學的標配。
set-window-option -g mode-keys vi # 複製模式中的默認鍵盤佈局使用vi
bind h select-pane -L # h -- left
bind l select-pane -R # l -- right
bind k select-pane -U # k -- up
bind j select-pane -D # j -- down