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 - 创建一个不指定名字的Session
  • tmux new -s <session-name> - 创建指定名字为的Session
  • tmux ls - 查询所有Session
  • tmux detach - 断开Session( <ctrl+b> :detach);type Ctrl-b d .
  • tmux a - 快速连接所有Session中的第一个Session(aat, attach)
  • tmux a -t <session-name> - 重新连接Session
  • tmux kill-session -t <session-name> - 关闭Session

三,快捷键

在tmux中使用的快捷键需要一个(前缀键)激活,默认为ctrl+b。

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

  1. <prefix>[ 进入复制模式
  2. 移动光标到要复制的区域,移动光标时可用vim的搜索功能"/","?"
  3. <whitespace> 键开始选择复制区域, 选择完成后按 <enter> 键退出
  4. <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美化/

docker

如果要正常退出不关闭容器,请按Ctrl+p+q进行退出容器

posted on 2021-10-29 09:46  ims-  阅读(72)  评论(0编辑  收藏  举报

导航