tmux 手册

yum安装(版本较老):

yum install -y epel-release
yum install -y tmux

编译安装:

yum install libevent-devel ncurses-devel
wget https://github.com/tmux/tmux/releases/download/2.7/tmux-2.7.tar.gz
tar -xvf tmux-2.7.tar.gz
cd tmux-2.7
./configure && make
make install

1.1 tmux.conf

cat tmux.conf > /etc/tmux.conf

2.1 远程协助/演示

  • 加入同一主机的同一session,所有操作都是同步可见的,这个对于远程协作和远程演示非常不错!
  • screen是screen-x 同一session的同一window才共享可见1)
# 协同操作session,自己也可以操作,适合远程协同
tmux a -t <session-name>
# 只读方式查看session操作(自己就不能操作,只能看,演示非常合适)
tmux a -r -t <session-name>

2.2 一般操作

tmux         # 打开tmux服务,-2 强制使 tmux使用256色
tmux new-session -s <session_name>             # 开启一个新会话并指定会话名, -d 新建后不进入会话
tmux new -s <session_name>                     # 简写
tmux new -s <session_name> -n <window_name>    # 新建一个会话,并设置第一个window名
tmux neww -n <window_name> <command>           # 简写
tmux list-session   # 查看 session会话列表
tmux ls             # 简写
tmux attach-session -t <session_name>    # 恢复到会话 <session_name>
tmux a -t <session_name>                 # 简写
tmux a -dt <session_name>                # 连接时断开其他已连接的会话
tmux rename-session -t <old_name> <new_name>    # 重命名会话 <session_name>
tmux  -t <old_name> <new_name>                  # 简写
tmux  kill-session -t <session_name>			# kill会话

2.3 tmux作为login shell

/etc/bashrc
if [[ -z $TMUX ]]; then
  tmux attach-session || tmux new-session
fi

2.4 快捷键

tmux.conf附件:

tmux.conf

一般操作

C-a  d		# 断开当前会话,以便更多操作(再开新 session)
C-a  D		# 选择要脱离的会话;在同时开启了多个会话时使用
C-z			# 挂起当前会话
C-a  r		# 强制重绘未脱离的会话
C-a  t		# 显示时间,回车 (q)退出
C-a  ~ 		# 列出提示信息缓存;其中包含了之前 tmux返回的各种提示信息
C-a  :		# 进入命令行模式;此时可以输入支持的命令,例如 kill-server可以关闭服务器
C-a  ?		# 列出所有快捷键,按q退出

session操作

C-a  n  # 新建session会话
F4      # 新建session会话
F3      # 重命名session
C-a  X  # 关闭session会话前询问
C-a  s	# 列出&选择session

窗口操作

F11     # 切换至上一window窗口
F12     # 切换至下一window窗口
F9      # 将window向前移动
F10     # 将window向后移动
F2      # 重命名window
C-a  w  # 选择并切换window窗口
C-a  .  # 移动当前窗口至其他senssion,弹出菜单写"dest_session(:#)"
C-a  f  # 在所有窗口中查找文本
C-a  c  # 创建新window
C-a  x  # 关闭window窗口前询问
C-a  e  # 复制模式,tmux默认无法看滚动日志,这时可用复制模式来看多于一屏的文字,按q退出

面板操作

C-a  |  	# 纵向切割面板(左右切分面板)
C-a  -  	# 横向切割面板(上下切分面板)
F6              # synchronize-panes 开关
F7      	# 向上置换panel面板
F8    		# 向下置换panel面板
C-a  q  	# 显示面板编号
C-a  q + 面板数字   # 显示面板编号,然后切换到指定编号的面板
C-a  o  # 在当前窗口中选择下一面板
C-a  j  # 向上选择面板
C-a  k  # 向下选择面板
C-a  h  # 向左选择面板
C-a  l  # 向右选择面板
C-a  ^方向键    # 以5个单元格为单位移动边缘以调整当前面板大小
C-a  !  		# 将当前面板移动到新建window窗口;即新建一个窗口,其中仅包含当前面板
C-Space 		# 循环切换预置的面板布局;包括 even-horizontal、even-vertical 、main-horizontal、 main-vertical、tiled
:setw sy(nchronize-panes)     # 多面板同步操作

待设置/不确定

C-a  方向键 # 按住C+b不放,同时按住方向键,可以调节光标所在窗口的大小
Alt+o  	 	# 逆时针旋转当前窗口的面板
Ctrl+o  	# 顺时针旋转当前窗口的面板
C-a  ,  	# 重命名当前窗口;这样便于识别
C-a  .  	# 修改当前窗口编号;相当于窗口重新排序

2.5 批量维护脚本

#!/bin/sh
# name     : 快速建立一个workflow.
# author   : mrco
# created  : 2015-05-12
# modified : 2015-5-13
# tmux neww [-n 窗口名] -t [session名]
session=codefun
tmux new -d -s $session
tmux neww -t $session
tmux neww -t $session
tmux neww -t $session
tmux neww -t $session
tmux splitw -h -p 50 -t $session
tmux selectw -t $session:5
tmux att -t $session
exit 0

测试putty是否开启256色

for i in {0..255} ; do
    printf "\x1b[38;5;${i}mcolour${i}\n"
done;


  • linux/tmux_screen/tmux手册.txt
  • 最后更改: 2019/08/22 21:29
  • 由 mrco