前言
tmux系列文章:
一 tmux简介
tmux(terminal multiplexer)复用终端,可以在一个屏幕上复用管理多个终端窗口。使用tmux,用户随时连接或断开tmux会话,都不会影响tmux终端里的程序。
二 tmux的基本结构
tmux包括会话(session),窗口(window), 窗格(pane). 一个会话就是一个tmux服务,会话包括多个窗口,窗口就是我们所能看到的一个屏幕,不同的窗口可以通过切换显示,而一个窗口又包括了多个窗格,每个窗格都是一个伪终端。
会话 –> 窗口 –> 窗格, 如图所示:
三 tmux的基本用法
tmux的基本用法就是对会话、窗口、窗格的创建、关闭、连接、切换、分离等操作
tmux的操作都是配合快捷键使用的, tmux的默认快捷键前缀是ctr+b(下文中通用prefix指代)。tmux按下prefix键松开后,再按下其他命令键进行快捷操作。例如: prefix c 创建一个新的窗口(prefix c 是先按下prefix,松开后在按d键, 不同于prefix + d: 表示按下prefix的同时按下d)
快捷键操作 prefix d 要先同时按下Ctr+b 再按下d键,比较麻烦。可以自定义前缀键prefix: 按如下所示修改 ~/.tmux.conf 文件。如果没有创建.tmux.conf。它是tmux的配置文件,可以实现对tmux配置的自定义修改。
# 重新设置前缀键为 ` -g表示全局global
set -g prefix `
# 取消绑定之前的前缀键C-b
unbind C-b
# 绑定 prefix r 快速重新加载配置文件
# display是加载后展示的信息
# \; 可以绑定执行多条命令
bind r source-file ~/.tmux.conf \; display "Reloaded OK!"
现在将prefix由默认的Ctr+b 改为了 ` 键(左上角的第一个键)。
最后一行的作用是使用prefix r重新加载配置文件,并输出提示,否则需要关闭会话后配置文件才能生效,也可手动加载配置文件,在tmux终端输入”prefix :”进入命令模式,用source-file命令加载配置文件。
更多的tmux配置,详细点击终端复用神器tumx——tmux的自定义配置 查看。
四 tmux详细操作
1. session 会话管理
常用命令
tmux new 创建默认名称的会话(在tmux命令模式使用new命令可实现同样的功能,其他命令同理,后文不再列出tmux终端命令)
tmux new -s mysession 创建名为mysession的会话
tmux ls 显示会话列表
tmux a 连接上一个会话
tmux a -t mysession 连接指定会话
tmux rename -t s1 s2 重命名会话s1为s2
tmux kill-session 关闭上次打开的会话
tmux kill-session -t s1 关闭会话s1
tmux kill-session -a -t s1 关闭除s1外的所有会话
tmux kill-server 关闭所有会话
常用快捷键
prefix s 列出会话,可进行切换
prefix $ 重命名会话
prefix d 分离当前会话
prefix D 分离指定会话
2. window 窗口快捷键操作
prefix c 创建一个新窗口
prefix , 重命名当前窗口
prefix w 列出所有窗口,可进行切换
prefix n 进入下一个窗口
prefix p 进入上一个窗口
prefix l 进入之前操作的窗口
prefix 0~9 选择编号0~9对应的窗口
prefix . 修改当前窗口索引编号
prefix ' 切换至指定编号(可大于9)的窗口
prefix f 根据显示的内容搜索窗格
prefix & 关闭当前窗口
3. pane 窗格快捷键操作
prefix % 水平方向创建窗格
prefix " 垂直方向创建窗格
prefix Up|Down|Left|Right 根据箭头方向切换窗格
prefix q 显示窗格编号
prefix o 顺时针切换窗格
prefix } 与下一个窗格交换位置
prefix { 与上一个窗格交换位置
prefix x 关闭当前窗格
prefix space(空格键) 重新排列当前窗口下的所有窗格
prefix ! 将当前窗格置于新窗口
prefix Ctrl+o 逆时针旋转当前窗口的窗格
prefix t 在当前窗格显示时间
prefix z 放大当前窗格(再次按下将还原)
prefix i 显示当前窗格信息
4. 其他命令
tmux list-key 列出所有绑定的键,等同于prefix ?
tmux list-command 列出所有命令
以上为tmux的常见操作,基本可以满足大部分的工作需求。
参考:
[1] https://www.cnblogs.com/liuguanglin/p/9290345.html
[2] tmux: Productive Mouse-Free Development》中文翻译
[3] tmux使用手册