`
shixiaomu
  • 浏览: 383009 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

使用tmux

 
阅读更多
使用tmux

tmux是一个优秀的终端复用软件,类似GNU Screen,但来自于OpenBSD,采用BSD授权。使用它最直观的好处就是,通过一个终端登录远程主机并运行tmux后,在其中可以开启多个控制台而无需再“浪费”多余的终端来连接这台远程主机;当然其功能远不止于此。
安装

可以使用Ports安装tmux,位置在/usr/ports/sysutils/tmux/;tmux仅有一个依赖包libevent,位于/usr/ports/devel/libevent/。
安装完成后输入命令tmux即可打开软件,界面十分简单,类似一个下方带有状态栏的终端控制台;但根据tmux的定义,在开启了tmux服务器后,会首先创建一个会话,而这个会话则会首先创建一个窗口,其中仅包含一个面板;也就是说,这里看到的所谓终端控制台应该称作tmux的一个面板,虽然其使用方法与终端控制台完全相同。
tmux使用C/S模型构建,主要包括以下单元模块:
server 服务器。输入tmux命令时就开启了一个服务器。
session 会话。一个服务器可以包含多个会话。
window 窗口。一个会话可以包含多个窗口。
pane 面板。一个窗口可以包含多个面板。
操作

类似各种平铺式窗口管理器,tmux使用键盘操作,常用快捷键包括:
Ctrl+b 激活控制台;此时以下按键生效
系统操作 ? 列出所有快捷键;按q返回
d 脱离当前会话;这样可以暂时返回Shell界面,输入tmux attach能够重新进入之前的会话
D 选择要脱离的会话;在同时开启了多个会话时使用
Ctrl+z 挂起当前会话
r 强制重绘未脱离的会话
s 选择并切换会话;在同时开启了多个会话时使用
: 进入命令行模式;此时可以输入支持的命令,例如kill-server可以关闭服务器
[ 进入复制模式;此时的操作与vi/emacs相同,按q/Esc退出
~ 列出提示信息缓存;其中包含了之前tmux返回的各种提示信息
窗口操作 c 创建新窗口
& 关闭当前窗口
数字键 切换至指定窗口
p 切换至上一窗口
n 切换至下一窗口
l 在前后两个窗口间互相切换
w 通过窗口列表切换窗口
, 重命名当前窗口;这样便于识别
. 修改当前窗口编号;相当于窗口重新排序
f 在所有窗口中查找指定文本
面板操作 ” 将当前面板平分为上下两块
% 将当前面板平分为左右两块
x 关闭当前面板
! 将当前面板置于新窗口;即新建一个窗口,其中仅包含当前面板
Ctrl+方向键 以1个单元格为单位移动边缘以调整当前面板大小
Alt+方向键 以5个单元格为单位移动边缘以调整当前面板大小
Space 在预置的面板布局中循环切换;依次包括even-horizontal、even-vertical、main-horizontal、main-vertical、tiled
q 显示面板编号
o 在当前窗口中选择下一面板
方向键 移动光标以选择面板
{ 向前置换当前面板
} 向后置换当前面板
Alt+o 逆时针旋转当前窗口的面板
Ctrl+o 顺时针旋转当前窗口的面板
配置

tmux的系统级配置文件为/etc/tmux.conf,用户级配置文件为~/.tmux.conf。配置文件实际上就是tmux的命令集合,也就是说每行配置均可在进入命令行模式后输入生效。
下面是一个~/.tmux.conf的示例,其中包括了一些常用的配置:

#此类配置可以在命令行模式中输入show-options -g查询
set-option -g base-index 1                        #窗口的初始序号;默认为0,这里设置为1
set-option -g display-time 5000                   #提示信息的持续时间;设置足够的时间以避免看不清提示,单位为毫秒
set-option -g repeat-time 1000                    #控制台激活后的持续时间;设置合适的时间以避免每次操作都要先激活控制台,单位为毫秒
set-option -g status-keys vi                      #操作状态栏时的默认键盘布局;可以设置为vi或emacs
set-option -g status-right "#(date +%H:%M' ')"    #状态栏右方的内容;这里的设置将得到类似23:59的显示
set-option -g status-right-length 10              #状态栏右方的内容长度;建议把更多的空间留给状态栏左方(用于列出当前窗口)
set-option -g status-utf8 on                      开启状态栏的UTF-8支持

#此类设置可以在命令行模式中输入show-window-options -g查询
set-window-option -g mode-keys vi    #复制模式中的默认键盘布局;可以设置为vi或emacs
set-window-option -g utf8 on         #开启窗口的UTF-8支持

#将激活控制台的快捷键由Ctrl+b修改为Ctrl+a
set-option -g prefix C-a
unbind-key C-b
bind-key C-a send-prefix

#添加自定义快捷键
bind-key z kill-session                     #按z结束当前会话;相当于进入命令行模式后输入kill-session
bind-key h select-layout even-horizontal    #按h将当前面板布局切换为even-horizontal;相当于进入命令行模式后输入select-layout even-horizontal
bind-key v select-layout even-vertical      #按v将当前面板布局切换为even-vertical;相当于进入命令行模式后输入select-layout even-vertical

更多

tmux的手册非常详尽,请输入man tmux后阅读。
分享到:
评论

相关推荐

    tmux-wormhole:tmux-wormhole-使用tmux下载文件和目录!

    使用tmux和魔术虫洞将东西从远程计算机传送到tmux。 如果tmux设置了DISPLAY,请在本地打开文件! 演示版 用法 在远程计算机上,显示神奇的虫洞代码。 按(前缀+ w ) 点击确定进行传输。 先决条件 tmux-wormhole用...

    Linux一键安装tmux

    7. **使用tmux**:在tmux中,你可以使用快捷键进行操作,例如`Ctrl+b`后接`c`创建新窗口,`Ctrl+b`后接`"`切换窗口,`Ctrl+b`后接`%`分割面板。详细的快捷键列表可以通过`tmux`命令后跟`man`查看,或者查阅官方文档...

    tmux 终端复用软件

    **tmux终端复用软件详解** tmux,全称“Terminal Multiplexer”,是一款强大的终端复用工具,尤其在Linux和Unix-like系统中广泛使用。它允许用户在一个单一的终端...记得多加练习,探索更多适合自己的tmux使用技巧。

    tmux 安装需要的包

    尤其在远程服务器操作中,tmux的使用能有效减少频繁切换窗口的麻烦,且能在断开连接后保存工作状态,方便后续继续。 在Linux环境下安装tmux,通常需要依赖两个关键的包:libevent和tmux自身。以下是这两个包的详细...

    官方原版tmux-2.6.tar.gz

    官方原版的tmux-2.6版本,因其稳定性和强大的功能特性,受到了广泛的关注和使用。在这个文档中,我们将深入探讨tmux的基本概念、主要功能以及如何在PHP和oneinstack环境中应用tmux。 tmux,全称“Terminal ...

    tmux-debain.zip

    本文将详细探讨在Debian环境下安装和使用tmux的过程,以及与之相关的`byacc`和`libevent`这两个项目。 首先,让我们关注`tmux`的安装。在Debian上,你可以通过包管理器`apt`来轻松安装tmux。打开终端并输入以下命令...

    tmux 安装包

    对于经常使用Vim的用户,可以通过配置tmux来实现更高效的开发环境。例如,可以在一个窗口中运行服务器,另一个窗口中编辑代码,同时还可以利用tmux的复制功能(`Ctrl + b`,然后按`[`,再按`Space`,选择区域后按`...

    tmux_for_git-bash.zip

    综上所述,"tmux_for_git-bash.zip" 提供了一种在 Git Bash 环境下更好地使用 tmux 的方式。通过优化配置,tmux 能在 Git Bash 中发挥其全部潜力,为 Windows 用户提供了一个强大的终端管理工具。如果你经常在 Git ...

    tmux-1.8.tar.gz

    **tmux:Linux终端复用神器** tmux是Linux环境下的一款强大的终端复用工具,它允许用户...掌握tmux的使用,能够极大地提升在Linux环境下的工作效率,尤其是在进行开发、系统管理或持续集成等需要多任务并行的工作中。

    cooputils:使用 tmux 在 shell 中协同工作时,此脚本集合可用于自动切换到“coop”用户并选择 TMUX 会话

    合作社设计用于使用 tmux 在 shell 中协同工作。多路复用器显示带有元数据的正在运行的 tmux 会话列表,允许您连接到任何正在运行的会话或创建一个新会话。 非常闪亮,非常标签完成。鸡舍运行sudo -u coop ...

    shared-terminal-workshops:使用 tmux 会话共享的基于终端的交互式研讨会

    此外,每个参与者的会话使用tmux显示为演示者屏幕上的选项卡。 可以使用监视器或投影仪显示此屏幕。 演示者可以导航到参与者的选项卡,并使用tmux的会话共享功能,查看正在发生的事情,甚至参与会话。致谢该项目...

    tmux-zen:使用 tmux 和 Oh My Fish 实现真正的终极禅

    现在您可以使用安装 tmux zen: $ omf install tmux-zen 就是这样! 为终极终极禅宗的史诗之旅做好准备。 禅修之路 Tmux 是一个终端多路复用器,面向经常使用终端的开发人员和管理员。 Fish(以及 Oh My Fish ...

    tmux-config, tmux配置屏幕 vim键绑定,系统状态,cpu负载栏.zip

    tmux-config, tmux配置屏幕 vim键绑定,系统状态,cpu负载栏 tmux 是一个终端多路复用器。使用 tmux 1.5 测试。支持 tmux-mem-cpu-load 。为 screen 用户映射到ctrl的前缀。New tmux New New tmux tmux tmux tmux

    TI-TMUX646.pdf

    【TI-TMUX646.pdf】文档主要介绍了一款针对高速应用设计的10通道2:1双向开关——TMUX646,尤其适合在MIPI(移动 Industry Processor Interface)系统中作为开关元件使用。这款开关器件具备以下关键特性: 1. **电源...

    静态编译的tmux,ARM64版本,v3.3a

    在使用tmux时,可以通过以下方式进行操作: 1. **启动tmux**:在终端输入`tmux`即可启动一个新的tmux会话。 2. **新建窗口**:在tmux中,按下`Ctrl + b`后释放,再按`c`创建新窗口。 3. **切换窗口**:`Ctrl + b`后...

    Laravel开发-newznab-tmux

    6. 使用tmux进行多任务管理,如在一个会话中运行Laravel开发服务器,另一个会话监控日志。 7. 测试API接口,确保其功能正常且符合Newznab标准。 8. 部署到生产环境,考虑负载均衡和性能优化。 总结来说,"Laravel...

    tmux使用(程序员适用)

    **tmux 使用详解** tmux(Terminal Multiplexer)是一款强大的终端复用器,它允许用户在单个终端窗口中创建多个会话,并在这些会话之间轻松切换,从而提高开发效率,尤其对于需要同时处理多个任务或项目的程序员来...

    linux tmux原版参考手册

    - **伪终端 (Pty)**:tmux 使用的终端模拟技术,其技术细节可以在 pty(7) 手册页中找到。 - **客户端**:展示会话于屏幕的进程。 - **服务器**:管理所有会话的进程。服务器和每个客户端是独立的进程,它们通过位于 ...

    kubectl-tmux-exec:一个使用Tmux同时控制多个Pod的kubectl插件

    kubectl-tmux-exec 一个kubectl插件,使用同时控制多个Pod。 就像csshX pssh是kubectl exec ,或者ssh是pssh 。 而不是一次将exec bash放入多个pod的容器中,例如kubectl exec pod{N} /bin/bash 。 您现在可以...

    tmux-pane-stream:轻松往返于tmux窗格

    使用tmux send-keys实现对窗格的写入,使用tmux pipe-pane和TCP套接字连接实现tmux pipe-pane读取。 因此,输入管道输送到面板也是可见的未来窗格的出来,如果你有一个管道已经设置了一个窗格,它会通过这个工具来...

Global site tag (gtag.js) - Google Analytics