• [软件安装] tmux安装及相关事项


    tmux安装及相关事项

    tmux是一个终端复用工具,可以在单个终端窗口中同时运行多个终端会话。安装tmux可以提高工作效率,使命令行操作更加方便。

    1. 安装tmux:

    在Linux系统下,可以使用包管理器来安装tmux,比如在Ubuntu系统中,可以使用以下命令来安装:

    sudo apt update
    sudo apt install tmux
    
    • 1
    • 2

    在macOS系统下,可以使用Homebrew来安装tmux:

    brew update
    brew install tmux
    
    • 1
    • 2

    2. 启动tmux:

    在终端中输入tmux即可启动,默认会在一个新窗口中打开一个tmux会话,你可以在其中执行命令。如果想退出tmux,可以使用Ctrl+b,然后按下d。

    #启动新session:
    $ tmux [new -s 会话名 -n 窗口名]
    
    #恢复session:
    $ tmux at [-t 会话名]
    
    #列出所有sessions:
    $ tmux ls
    
    #关闭session:
    $ tmux kill-session -t 会话名
    
    #关闭整个tmux服务器:
    $ tmux kill-server
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    3. Tmux 重要概念(https://www.cnblogs.com/zuoruining/p/11074367.html#2423136631)

    使用 Tmux 的时候千万不要去背指令,所有的指令都可以在 .tmux.conf 配置文件中绑定自己顺手的快捷键,也可以配置开启鼠标。

    这个是我的配置文件:https://github.com/zuorn/tmux.conf

    在Tmux逻辑中,需要分清楚Server > Session > Window > Pane这个大小和层级顺序是极其重要的,直接关系到工作效率:

    • Server:是整个tmux的后台服务。有时候更改配置不生效,就要使用tmux kill-server来重启tmux。
    • Session:是tmux的所有会话。我之前就错把这个session当成窗口用,造成了很多不便里。一般只要保存一个session就足够了。
    • Window:相当于一个工作区,包含很多分屏,可以针对每种任务分一个Window。如下载一个Window,编程一个window。
    • Pane:是在Window里面的小分屏。最常用也最好用

    4. tmux的常用快捷键:

    Ctrl+b 是默认的tmux命令前缀,你需要先输入这个前缀,然后再输入其他快捷键才能执行相应的命令。以下是常用的tmux快捷键:

    • Ctrl+b d:分离当前的tmux会话(相当于挂起到后台)
    • Ctrl+b c:创建新的tmux窗口(注意:这个窗口的概念是相当于会话中的窗口,一个会话可以包含多个窗口,但是一个窗口只能归属到固定的一个会话)
    • Ctrl+b n:切换到下一个tmux窗口(只能在当前会话的窗口中切换)
    • Ctrl+b p:切换到上一个tmux窗口(同上)
    • Ctrl+b %:水平分割当前窗口(将当前的窗口进一步切分,因此概念上包含关系为:服务器>会话>窗口>切分窗口)
    • Ctrl+b ":垂直分割当前窗口(同上)
    • Ctrl+b x:关闭当前窗格
    • Ctrl+b [:进入复制模式
    • Ctrl+b ]:粘贴复制的文本

    5. tmux更全面的快捷键

    系统指令:

    前缀指令描述
    Ctrl+b?显示快捷键帮助文档
    Ctrl+bd断开当前会话
    Ctrl+bD选择要断开的会话
    Ctrl+bCtrl+z挂起当前会话
    Ctrl+br强制重载当前会话
    Ctrl+bs显示会话列表用于选择并切换
    Ctrl+b:进入命令行模式,此时可直接输入ls等命令
    Ctrl+b[进入复制模式,按q退出
    Ctrl+b]粘贴复制模式中复制的文本
    Ctrl+b~列出提示信息缓存

    窗口(window)指令:

    前缀指令描述
    Ctrl+bc新建窗口
    Ctrl+b&关闭当前窗口
    Ctrl+b0~9切换到指定窗口
    Ctrl+bp切换到上一窗口
    Ctrl+bn切换到下一窗口
    Ctrl+bw打开窗口列表,用于且切换窗口
    Ctrl+b,重命名当前窗口
    Ctrl+b.修改当前窗口编号(适用于窗口重新排序)
    Ctrl+bf快速定位到窗口(输入关键字匹配窗口名称)

    面板(pane)指令:

    前缀指令描述
    Ctrl+b"当前面板上下一分为二,下侧新建面板
    Ctrl+b%当前面板左右一分为二,右侧新建面板
    Ctrl+bx关闭当前面板(关闭前需输入y or n确认)
    Ctrl+bz最大化当前面板,再重复一次按键后恢复正常(v1.8版本新增)
    Ctrl+b!将当前面板移动到新的窗口打开(原窗口中存在两个及以上面板有效)
    Ctrl+b;切换到最后一次使用的面板
    Ctrl+bq显示面板编号,在编号消失前输入对应的数字可切换到相应的面板
    Ctrl+b{向前置换当前面板
    Ctrl+b}向后置换当前面板
    Ctrl+bCtrl+o顺时针旋转当前窗口中的所有面板
    Ctrl+b方向键移动光标切换面板
    Ctrl+bo选择下一面板
    Ctrl+b空格键在自带的面板布局中循环切换
    Ctrl+bAlt+方向键以5个单元格为单位调整当前面板边缘
    Ctrl+bCtrl+方向键以1个单元格为单位调整当前面板边缘(Mac下
    Ctrl+bt显示时钟

    5. tmux配置:

    tmux的配置文件为~/.tmux.conf,你可以通过修改这个文件来改变tmux的默认配置。以下是一些常用的配置选项:

    • set-option -g prefix C-a:将tmux命令前缀改为Ctrl+a
    • setw -g mouse on:启用鼠标支持
    • set-option -g default-shell /bin/bash:设置默认shell为bash
    • set-option -g history-limit 5000:设置历史记录大小为5000行

    初学者建议用熟练之后再进行配置,网络上有很多公开的配置,大家可以参考选配。

    错误

    提示:
    /home/user/anaconda3/envs/virtualenvironment/lib/libtinfo.so.6: no version information available (required by -bash)
    我出现这个错误是因为我在虚拟环境中,因此安装 ncurses 即可解决。
    安装:

    conda install -c conda-forge ncurses
    
    • 1

    重命名会话(rename-session)

    大多数用户在开始使用 Tmux 时都会忘记命名他们正在使用的会话。但是,随着会话数量随着工作流程的增加,记住您正在使用的会话以及在其中运行的相关服务变得很痛苦。因此,最好始终使用名称来启动会话以避免任何混淆。但是,如果您在创建会话时忘记命名会话,您仍然可以为其指定名称或更改现有名称。

    方式1:通过shell 提示符重命名会话

    $ tmux rename-session -t old-session-name new-session-name
    
    • 1

    方式2:使用Tmux命令提示符重命名会话

    $ rename-session -t my_session_1 my_session_2
    
    • 1

    方式3:使用组合键重命名会话

    Ctrl+b + $
    
    • 1

    reference

    @misc{BibEntry2023Oct,
    title = {{Tmux 配置xn–ih7c打造最适合自己的终端复用工具 - zuorn - 博客园}},
    year = {2023},
    month = oct,
    urldate = {2023-10-23},
    language = {chinese},
    note = {[Online; accessed 23. Oct. 2023]},
    url = {https://www.cnblogs.com/zuoruining/p/11074367.html}
    }

  • 相关阅读:
    SAP 采购订单行项目屏幕增强(BADI)
    景联文科技提供高质量人像采集服务,助力3D虚拟人提升逼真度
    当大火的文图生成模型遇见知识图谱,AI画像趋近于真实世界
    qtdesigner使用QTableWidget控件实现读取excel表
    GeoServer:Vector Tiles-矢量瓦片制作与加载
    qt 消息(事件)机制
    如何给win11安装安卓应用
    Mac如何远程连接Ubuntu主机(一)ssh连接|Mac通过ssh远程连接Ubuntu主机
    Winform 多语言化快速解析替换工具-1分钟一个界面
    Unirech阿里云国际版云服务器代充-使用Python批量创建实例
  • 原文地址:https://blog.csdn.net/orDream/article/details/133983381