本文为tmux基础使用方法。
文章目录
1. tmux简介
- 终端管理软件,可以把session和terminal分离开,这样即使terminal窗口关闭了,也不会中断session的进程。
- tmux可以支持在一个terminal中打开多个进程(session),每一个session中可以打开多个窗口(window),每一个window中可以打开多个窗格(pane)。
2. 安装
- 命令行:
sudo apt-get install tmux
3. 使用
- 在命令行中输入
tmux
即可打开一个窗口(window) - 快捷键查看:
Ctrl+b
,?
3.1 关于进程(session)
- 新建一个session:
tmux new -s <session-name>
其中<session-name>
是目标session的名字 - 查看全部session:
tmux ls
- 或快捷键
Ctrl+b s
- 或快捷键
- 连接某个session:
tmux attach -t <session-name>
- 其中
<session-name>
是目标session的名字或编号
- 其中
- 切换到另一个session:
tmux switch -t <session-name>
- 给某个session重命名:
tmux rename-session -t <old-name> <new-name>
- 将terminal与session分离,快捷键
Ctrl+b d
,其中d
表示 detach。 - 杀掉进程:
tmux kill-session -t <session-name>
3.2 关于窗口(window)
- 一个session可以有多个window。假设现在已经在一个session里了。
- 在最下面一行的绿色条条里显示当前的session和window。最前面
[ ]
里面是当前session的名字。后面是这个session中打开的window,从0开始标记,是数字:名称
的格式,后面加*
的表示当前的window。 - 新建window:
Ctrl+b c
- 切换到下一个window:
Ctrl+b n
(next) - 切换到上一个window:
Ctrl+b p
(previous) - 新建窗口:
tmux new-window -n <window-name>
- 切换到某个窗口:
tmux select-window -t <window-name>
- 快捷键:
Ctrl+b <window-number>
- 快捷键:
- 重命名窗口:
tmux rename-window [-t <target-window>] <new-name>
,默认是重命名当前窗口- 重命名当前窗口快捷键:
Ctrl+b ,
- 重命名当前窗口快捷键:
- 打开窗口的列表:
Ctrl+b w
- 关闭(kill)当前window:
Ctrl+b &
3.3 关于窗格(pane)
- 一个窗口(window)可以被划分为多个窗格(pane)
- 上下划分window:
tmux split-window
- 或用快捷键
Ctrl+b "
- 或用快捷键
- 左右划分window:
tmux split-window -h
- 或用快捷键
Ctrl+b %
- 或用快捷键
- 关闭当前pane:
Ctrl+b x
,会需要确认是否关闭,确认的话再输入y
- 将当前pane拆分出来作为一个独立的window:
Ctrl+b !
- 将当前pane全屏显示:
Ctrl+b z
,退出全屏也是这个快捷键 - 切换光标到其他的pane:
Ctrl+b <arrow key>
- 切换光标到上一个pane:
Ctrl+b ;
- 切换光标到下一个pane:
Ctrl+b o
- 显示所有pane的编号:
Ctrl+b q
- 调整几个pane的大小:
Ctrl+b Ctrl+<arrow key>
,或者直接用鼠标拉。 - 当前pane与上一个pane交换位置:
Ctrl+b {
- 当前pane与下一个pane交换位置:
Ctrl+b }
4. 一些问题
4.1 tmux设置鼠标滚动
-
在tmux中,按
Ctrl+b
,:
,进入底部输入模式。 -
在窗口底部输入
setw -g mouse on
。 -
这样就可以通过鼠标滚动查看窗口输出了~
-
注:如果以上方法不能成功,显示“Anbigous option mouse”,是因为tmux版本太低,将
mouse
改为mode-mouse
即可。
4.2 对窗口中的内容进行复制
- 按住
Shift
键不要松,就可以对文字进行正常选中了,再右键复制或键盘Ctrl+Shift+c
复制就行。 - 鼓捣完了,松开
Shift
键,就ok了。 - 但是按住
Shift
键之后窗口内容是不动的,也就是说如果要复制的文字过长,它窗口不会自动滚动,这个我还不知道该怎么解决。
参考:
- 阮一峰,Tmux 使用教程,http://www.ruanyifeng.com/blog/2019/10/tmux.html