一,结构
Session:用来概括一个任务,是一组窗口的集合。通过在任务开始前创建一个Session,在该Session中进行任务,之后通过断开Session来暂时中断任务,此时与任务相关的状态都会保存在这个Session,通过重新连接Session可以方便的继续未完成的任务。Session最大的作用就是持久的保存工作状态。
Window:单个窗口,一个Session可以包含多个Window。tmux中Window的概念与Chrome或Vim的Tab页类似。
Pane:单个Window可以进一步划分成小块的Pane,tmux中的Pane类似与Vim中使用split划分出的窗口。
二,命令
-
tmux - 创建一个不指定名字的Session
-
tmux new -s
- 创建指定名字为 的Session -
tmux ls - 查询所有Session
-
tmux detach - 断开Session( <ctrl+b> :detach)
-
tmux a - 快速连接所有Session中的第一个Session(
a即at,attach) -
tmux a -t
- 重新连接Session -
tmux kill-session -t
- 关闭Session
三,快捷键
在tmux中使用的快捷键需要一个
Session
s 列出Session
$ 重命名Session
d 断开Session
:new<CR> new session
Window (tabs)
c 创建新的Window
, 重命名当前Window
w 列出所有Window
& 关闭Window
n 选择下一个Window
p 选择上一个Window
0~9 切换到 0~9 对应的Window
'<#index> 选择窗口编号超过 2 位数的窗口(比如 '10,代表切换到编号为 10 的窗口)
f find window
. move window - prompted for a new number
:movew<CR> move window to the next unused number
Pane (splits)
- % 创建一个竖直Pane
- " 创建一个水平Pane
- q 显示Pane的编号
- o 在Pane中切换
- { 与上一个Pane交换位置
- } 与下一个Pane交换位置
- z 切换Pane大小为整个Window
- ! 显示当前Pane在新的Window中
- x kill pane
- ⍽ space - toggle between layouts
Misc
-
<prefix>?帮助信息 -
<prefix>t显示时间 -
<prefix>:命令输入 -
<prefix>[选择模式:
调整pane 大小
1. Shotcuts
Ctrl+b Ctrl+<arrow key> :按箭头方向调整窗格大小。
MacBook,在默认情况下可以使用Ctrl+B,然后Esc + (arrow key)
2. Command
假设您的前缀键仍然是Ctrl-B
^ B:resize-p -D 2
^ B:resize-p -U 2
^ B:resize-p -L 2
^ B:resize-p -R 2
数字最后是可选的,默认为1。-U也是默认值,并且不必要。
3. Mouse
调整窗格大小的一种方法是使用鼠标。为此,请将这些行添加到您的.tmux.conf:
set -g mode-mouse on
set -g mouse-resize-pane on
如果您使用的是Mac,但以上操作均无效,请改用此代码:
set-option -g mouse on
tmux source-file ~/.tmux.conf
启用此模式后,只需单击并拖动窗格分隔符即可调整它们的大小。
四,拷贝
<prefix>[ 进入复制模式
移动光标到要复制的区域,移动光标时可用vim的搜索功能"/","?"
按<whitespace>键开始选择复制区域, 选择完成后按 <enter> 键退出<prefix>] 粘贴。
在配置文件中 setw -g mode-keys vi 设置为vi模式时候,可以使用vi的方式移动光标。
tmux 与 系统共享剪切板
通过xclip与系统剪切板通信,使用 ctrl+b+[ 选择之后按y键复制选择的内容
bind -T copy-mode-vi y send-keys -X copy-pipe-and-cancel 'xclip -in -selection clipboard'
五,配置
配置文件为~/.tmux.conf。
tmux set-option
set-option -s 设置 sever option
set-option 设置 session option
set-window-option 设置 window option(setw, set -w)
set-option -g 设置全局 option
六,分享Session
当多个人同时登入一台主机,它们可以通过连接同一个Session来进行实时的共享。
tmux 美化
https://blog.soymilk.fun/2020/01/25/Linux/Common/tmux/tmux美化/