usage of tmux
tmux
一,结构
Session:用来概括一个任务,是一组窗口的集合。通过在任务开始前创建一个Session,在该Session中进行任务,之后通过断开Session来暂时中断任务,此时与任务相关的状态都会保存在这个Session,通过重新连接Session可以方便的继续未完成的任务。Session最大的作用就是持久的保存工作状态。
Window:单个窗口,一个Session可以包含多个Window。tmux中Window的概念与Chrome或Vim的Tab页类似。
Pane:单个Window可以进一步划分成小块的Pane,tmux中的Pane类似与Vim中使用split划分出的窗口。
二,命令
tmux
- 创建一个不指定名字的Sessiontmux new -s <session-name>
- 创建指定名字为的Session tmux ls
- 查询所有Sessiontmux detach
- 断开Session( <ctrl+b> :detach);type Ctrl-b d .tmux a
- 快速连接所有Session中的第一个Session(a
即at
,attach
)tmux a -t <session-name>
- 重新连接Sessiontmux kill-session -t <session-name>
- 关闭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 mouse on
set -g mouse-resize-pane on
如果您使用的是Mac,但以上操作均无效,请改用此代码:
set-option -g mouse on
tmux source-file ~/.tmux.conf
启用此模式后,只需单击并拖动窗格分隔符即可调整它们的大小。
四,拷贝
tmux 内部各窗口的copy&paste
<prefix>[
进入复制模式- 移动光标到要复制的区域,移动光标时可用vim的搜索功能"/","?"
- 按
<whitespace>
键开始选择复制区域, 选择完成后按<enter>
键退出 - 按
<prefix>]
组合键粘贴。
在配置文件中 setw -g mode-keys vi
设置为vi模式时候,可以使用vi的方式移动光标。
tmux 与 系统共享剪切板
在tmux 关闭mouse后,可以select 屏幕的内容到系统剪切板
set -g mouse on
set -g mouse off
通过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美化/