tmux
最重要的几个概念
session, window , pane 在这里我们就把他们分别叫做会话,窗口,窗格
一个 session里面可以有很多窗口,一个窗口又可以有很多的窗格
session操作
# 新建session
tmux
tmux new -s <session-name>
# 离开当前session
tmux detach
# 查看 session 列表
tmux ls
# 进入session
tmux attach -t <session-name>
# 关闭 session
tmux kill-session -t <session-name>
# 切换session
tmux switch -t <session-name>
# 重命名session
tmux rename-session -t <old-session-name> <new-session-name>
Window操作
# 创建窗口,快捷键ctrl + b c
tmux new-window -n <window-name>
# 切换窗口
# 快捷键
# ctrl + b w 显示窗口列表可以通过 j ,k 上下进行选择窗口,然后回车进入指定的窗口
# ctrl + b n 快速切换到下一个窗口
# ctrl +b p 快速切换到上一个窗口
tmux select-window -t <window-name>
# 重命名窗口
tmux rename-window <new-window-name>
# 关闭窗口, 快捷键 ctrl + b &
tmux kill-window -t <window-name>
pane操作
# 切割,默认是上下切割
tmux split-window
# 切割,左右切割
tmux split-window -h
# ctrl + b % 可以快速的左右切割,ctrl + b “ 可以快速的上下进行切割
# 切换
# ctrl +b <arrow key>例如 ctrl +b ⬆ 会把光标移动到上方的窗格
# 把当前光标移动到上方的窗格
tmux select-pane -U
# 把当前的光标移动的下方的窗格
tmux select-pane -D
# 把当前的光标移动到左边的窗格
tmux select-pane -L
# 把当前的光标移动到左边的窗格
tmux select-pane -R
# 光标切换到下一个窗格
ctrl + b o
# 显示pane编号
ctrl + b q
# 选择pane
tmux select-pane -t <pane编号>
# 关闭pane, ctrl + b x
# 最大化最小化 ctrl + b z
# z是zoom的意思
会话自动保存
涉及到两个插件Tmux Resurrect和Tmux Continuum
Tmux Resurrect 能够备份 Tmux 会话的各种细节,包括所有会话、窗口、窗格以及它们的顺序,每个窗格的当前工作目录,精确的窗格布局
mkdir ~/.tmux
cd ~/.tmux
git clone https://github.com/tmux-plugins/tmux-resurrect.git
安装完成之后在``添加:
run-shell ~/.tmux/tmux-resurrect/resurrect.tmux
保存之后重新加载tmux配置文件即可
tmux source-file ~/.tmux.conf
用法也很简单ctrl+b ctrl+s
可以保存会话内容,ctrl+b ctrl+r
可以恢复之前保存的会话
Tmux Continuum将 Tmux 会话的保存及还原自动化,定时备份,然后在 Tmux 启动时还原
安装:
cd ~/.tmux
git clone https://github.com/tmux-plugins/tmux-continuum.git
配置文件~/.tmux.conf
中写入
run-shell ~/.tmux/tmux-continuum/continuum.tmux
set -g @continuum-restore 'on'
保存之后重新加载tmux配置文件即可,默认是15分钟保存一次,启动后就可以自动加载了
tmux source-file ~/.tmux.conf
其他
翻屏模式,使用tmux之后鼠标滚轮或者触控板的默认方式就不再是翻屏了,要切换到翻屏方式需要ctrl + b [
然后就可以用鼠标或者触控板或者Page Up/Done 翻屏了。要退出翻屏模式按下q
即可
按下g
可以跳转到行数
配置文件中写入setw -g mode-keys vi
可以用vi模式滚屏,ctrl-u ctrl-d,还可以用/
搜索
创建~/.tmux.conf
文件并写入set -g history-limit 5000
可以把回滚内容扩到到5000行