tmux教學


tmux在網路上可以找到很多的中文資料,可看我最後面的參考資料。底下只簡述我常用的一些重點。

修改設定檔:
啟用捲軸功能
vim .tmux.conf
加入底下這行

#設定訊息卷軸
set -g terminal-overrides 'xterm*:smcup@:rmcup@'
#set -g mode-mouse on
#啟用滑鼠功能,選擇視窗、分頁、調整分割視窗
set -g mode-mouse on
set -g mouse-select-window on
set -g mouse-select-pane on
set -g mouse-resize-pane on
#啟用滑鼠功能後,會使滑鼠選擇文字功能失效,但只要按鍵shift鍵去選擇即可,shift+滑鼠中鍵可貼上
#註:這些選項在 tmux 2.1版之後被取消了,只改成一個"mouse"選項了

這樣設定後,在tmux裡如果不切换窗口,是可以直接滾的。
說明一下,上面第2行的 mode-mouse 也可以達成捲軸的效果,但不同的是,要使用滑鼠反白就有困難。

Debian / Ubuntu 安裝 Tmux 後, 於設定檔範例裡面, 就有設定成跟 Screen 快速鍵一致的設定, 還有把 Vim 的快速鍵操作方式(切割視窗)加入 的設定範例, 位置如:
/usr/share/doc/tmux/examples/screen-keys.conf
/usr/share/doc/tmux/examples/vim-keys.conf

操作方式、常用快捷键:
大寫的C==>Control鍵

C+b c 開新視窗
C+b n 或 space 切換到下一個視窗
C+b P 切換到上一個視窗
====視窗分割功能======
C+b " 水平分割視窗
C+b % 垂直分割視窗
C+b up or down 切換分割視窗
C+b C上 or C下 分割視窗大小調整
C+b C左 or C右 分割視窗大小調整
C+b space 重新佈置分割的視窗
C+b ! 取消所有分割視窗
指令 exit 跳出當前分割視窗

C+b + Ctrl + 方向鍵上/下/左/右
# 可以調整當前分割視窗的長寬,好用!

作用鍵 + d
# 將目前的 Tmux Session 丟到背景去

tmux ls
# 列出主機上所有的 Tmux Session

tmux a -t 0
# 將背景的第 0 號 Tmux Session 叫回,a 代表 attach

Ctrl+b 激活控制台;此时以下按键生效
系统操作 ? 列出所有快捷键;按q返回
d 脱离当前会话;这样可以暂时返回Shell界面,输入tmux attach能够重新进入之前的会话
D 选择要脱离的会话;在同时开启了多个会话时使用
Ctrl+z 挂起当前会话
r 强制重绘未脱离的会话
s 选择并切换会话;在同时开启了多个会话时使用
: 进入命令行模式;此时可以输入支持的命令,例如kill-server可以关闭服务器
[ 进入复制模式;此时的操作与vi/emacs相同,按q/Esc退出
~ 列出提示信息缓存;其中包含了之前tmux返回的各种提示信息
窗口操作 c 创建新窗口
& 关闭当前窗口
数字键 切换至指定窗口
p 切换至上一窗口
n 切换至下一窗口
l 在前后两个窗口间互相切换
w 通过窗口列表切换窗口
, 重命名当前窗口;这样便于识别
. 修改当前窗口编号;相当于窗口重新排序
f 在所有窗口中查找指定文本
面板操作 将当前面板平分为上下两块
% 将当前面板平分为左右两块
x 关闭当前面板
! 将当前面板置于新窗口;即新建一个窗口,其中仅包含当前面板
Ctrl+方向键 以1个单元格为单位移动边缘以调整当前面板大小
Alt+方向键 以5个单元格为单位移动边缘以调整当前面板大小
Space 在预置的面板布局中循环切换;依次包括even-horizontal、even-vertical、main-horizontal、main-vertical、tiled
q 显示面板编号
o 在当前窗口中选择下一面板
方向键 移动光标以选择面板
{ 向前置换当前面板
} 向后置换当前面板
Alt+o 逆时针旋转当前窗口的面板
Ctrl+o 顺时针旋转当前窗口的面板

視窗取回

screen -r
tmux attach

視窗取回 by session name

screen -r session-name
tmux attach -t session-id

視窗開啟自訂 session-name

screen -S session-name
tmux new -s session-name # ex: tmux new -s irc

列出所有 session

screen -ls
tmux ls # tmux list-sessions

本篇發表於 linux。將永久鏈結加入書籤。

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *