tmux基础知识
tmux有三个基本概念:会话(Session),窗口(Window)和面板(Pane).
当你输入tmux后, tmux实际做的事是首先创建一个会话(Session), 然后在这个会话中创建一个窗口, 你可以继续创建多个窗口(Window), 每个窗口初始只包含一个面板, 继续分屏后, 会出现多个面板(Pane)
你在其中看到的终端实际上都属于tmux的某个面板更进一步讲, Session可以包含多个Window, 每个Window又可以包含多个Pane
配置
tmux作为系统管理员的一个常用工具。如何使用鼠标打开tmux,可以给日常操作带来方便, 只要在 .tmux.conf 下加入下列设置:
#安装tmux
MACOS:
brew install tmux
linux:
sudo apt install tmux
#配置文件
vim ~/.tmux.conf
#配置文件中加入一句
set-option -g mouse on
这样,可以上下拖动,查看结果,并且可以选择windows,选择pane,调整pane大小,都可以使用鼠标或者trackpad。
但是,如何使用鼠标选择文字进行拷贝(系统的拷贝缓冲,而不是 tmux的拷贝缓冲)?
可以在使用mouse选择的同时,按下 alt键。
排坑:
鼠标配置出现错误unknown option: mode-mouse 解决办法, 如下
setw -g mode-mouse on
set -g mouse-select-pane on
set -g mouse-resize-pane on
set -g mouse-select-window off
但是会出现
unknown option: mode-mouse
#打开tmux 会显示错误信息
可以用代码代替,初步认为是tmux版本更新的问题,因为我ubuntu里可以使用上述配置,Mac里就不可以
set-option -g mouse on
代替以上代码就OK了!
补充
使用
#设置前缀为ctrl+a
set -g prefix C-a
#解除ctrl+b与前缀的对应关系
unbind C-b
tmux-resurrect
set -g @resurrect-save-bash-history 'on'
set -g @resurrect-capture-pane-contents 'on'
set -g @resurrect-strategy-vim 'session'
然后
run-shell ~/.tmux/tmux-resurrect/resurrect.tmux
保存后执行 tmux source ~/.tmux.conf
如已经执行过tmux命令则执行 tmux source-file ~/.tmux.conf
创建新会话
tmux new -s xxx
竖向切割两个窗口
ctrl + a 然后 %
左右切换两个窗口
ctrl + a 然后 左右
开启同步模式
ctrl + a 然后 :set synchronize-panes
横向切割两个窗口
ctrl + a 然后 “
脱离当前回话回到shell界面
ctrl + a 然后 d
回到之前的会话
tmux attach
回到某一个会话
tmux attach -t xxx
重命名会话
在shell下执行 tmux ls 查看会话名称,然后执行 tmux rename -t 会话名称 新会话名称
关闭当前窗格
ctrl + a 然后 x