说明
本文章将默认的
Ctrl+b
操作改成Ctrl+a
具体修改方法在最下面若您习惯
Ctrl+b
可将本文章的所有Ctrl+a
替换为Ctrl+b
下载
ubuntu
用户可以
sudo apt-get install tmux
功能
-
分屏。
-
允许断开Terminal连接后,继续运行进程。
结构
一个tmux
可以包含多个session
,一个session
可以包含多个window
,一个window
可以包含多个pane
。
实例:
1 | tmux: |
操作
终端层
tmux
或tmux new -s XX
新建一个session,其中包含一个window,window中包含一个pane,pane里打开了一个shell对话框
默认是数字编号为session
名字
tmux new -s brown
新建一个名为brown
的session
tmux ls
列出所有的session
tmux a或tmux attach
打开之前挂起的session
tmux a -t X
进入到名字为X的session
Ctrl+a $
重命名session
tmux kill-session -t X
杀死指定session
session指令
Ctrl+a
进入命令行模式可以直接输入ls
等命令
Ctrl+a ?
显示帮助文档
Ctrl+a d
断开当前session
Ctrl+a D
选择需要断开的session
Ctrl+a Ctrl+z
挂起当前会话
Ctrl+a r
强制重载当前会话
Ctrl+a s
选择其它session
- 方向键----上:选择上一项 session/window/pane
- 方向键----下:选择下一项 session/window/pane
- 方向键 ---- 左:展开当前项 session/window
- 方向键 ----右:闭合当前项 session/window
Ctrl+a ~
列出提示信息缓存
Window指令
Ctrl+a c
在当前session
中创建一个新的window
Ctrl+a &
关闭当前窗口
Ctrl+a 0~9
切换到指定窗口
Ctrl+a p
切换到上一窗口
Ctrl+a n
切换下一窗口
Ctrl+a w
选择其它window,操作方法与选择session
一致
其实就是将上面session
的window
展开
Ctrl+a ,
重命名当前窗口
Ctrl+a .
修改当前窗口编号(适用于窗口重新排序)
Ctrl+a f
快速定位到窗口(输入关键字匹配窗口名称)
Pane指令
Ctrl+a %
先按下Ctrl+a
后手指松开,然后按\% (shift+5)
将当前pane
左右平分成两个pane
Ctrl+a "
先按下Ctrl+a
后手指松开,然后按" (shift+')
将当前pane
上下平分成两个pane
Ctrl+a x
关闭当前面板(关闭前需输入y or n确认
Ctrl+d
关闭当前pane
如果当前window
的所有pane
均已关闭,则自动关闭window
如果当前session
的所有window
均已关闭,则自动关闭session
Ctrl+a z
将当前pane全屏/取消全屏
Ctrl+a !
将当前面板移动到新的窗口打开(原窗口中存在两个及以上面板有效)
Ctrl+a ;
切换到最后一次使用的面板
Ctrl+a q
显示面板编号,在编号消失前输入对应的数字可切换到相应的面板
Ctrl+a {
向前置换当前面板
Ctrl+a }
向后置换当前面板
Ctrl+a o
选择下一面板
Ctrl+a Ctrl_o
顺时针旋转当前窗口中的所有面板
Ctrl+a 方向键
先按下Ctrl+a
后手指松开,然后按方向键
选择相邻的pane
Ctrl+a+方向键
按下Ctrl + a
的同时按方向键,可以调整pane
之间分割线的位置
Ctrl+a Alt+方向键
以5个单元格为单位调整当前面板边缘
Ctrl+a Ctrl+方向键
以1个单元格为单位调整当前面板边缘
Ctrl+a t
显示时钟
Ctrl+a PageUp
翻阅当前pane内的内容
鼠标操作
默认不支持鼠标操作但是本文最后修改默认快捷键中有相关配置来支持鼠标操作
-
鼠标点击可以选择pane
-
鼠标拖动pane之间的分割线,可以调整分割线的位置
-
鼠标滚轮:翻阅当前pane内的内容
-
在tmux中选中文本时,需要按住Shift键(仅支持Windows和Linux,不支持Mac,不过该操作并不是必须的,因此影响不大)
复制/粘贴文本的通用方式:
复制:按下Ctrl+a
后松开手指,然后按[
然后鼠标选中要复制的文字即可
粘贴:按下Ctrl+a
后松开手指,然后按]
,会将剪贴板中的内容粘贴到光标处
有网友说
- 按 Ctrl+a 再按 [ 进入复制模式
- 按 Ctrl+f(也可是 b n p)移动光标到开始位置
- 按 Ctrl+Space 进行标记
- 再移动光标至结束位置
- 按 Alt+w 复制选中的区域,复制以后会自动退出复制模式
- 按 Ctrl+b 再按 ] 就会把刚才复制在的内容粘贴在当前光标处
修改默认快捷键
- 修改
~\.bashrc
增加到根目录下的.bashrc
就可以了
1 | alias tmux='tmux -u' |
更改.bashrc
之后尽量source
一下
在根目录
1 | source .bashrc |
- 修改
~\.tmux.conf
在根目录
1 | vim .tmux.conf |
使用 :set paste
,然后按进入插入模式
然后 shift + insert
粘贴进去就行了
1 | set-option -g status-keys vi |
在根目录输入这个回车即可
1 | tmux source-file ~/.tmux.conf |