当前位置: 首页 > news >正文

终端复用工具 tmux 的使用方式与推荐配置

高效终端复用工具:tmux 安装与配置指南

在日常开发中,你是否遇到过以下问题:

  • 一个 SSH 连接被断开,所有进程都随之终止;
  • 打开了多个终端窗口,切换起来杂乱低效;
  • 想要在一个窗口里同时查看日志、运行命令,却没法灵活分屏。

tmux(terminal multiplexer) 就是为了解决这些问题的神器。它能让你在一个终端里开多个窗口和面板,并且会话可以“挂起”与“恢复”,即使断开 SSH,再次连接也能继续之前的工作。

本文将介绍 tmux 的安装、基本使用,并分享一份优化过的配置,让你的开发体验更顺畅。


1. tmux 安装

在不同系统上的安装方式略有不同:

macOS(推荐使用 Homebrew):

brew install tmux

Ubuntu / Debian:

sudo apt update
sudo apt install tmux -y

CentOS / Fedora:

sudo yum install tmux -y

安装完成后,可以通过以下命令检查版本:

tmux -V

2. tmux 基础使用

常用命令速览(默认前缀键是 Ctrl+b):

  • 开启新会话

    tmux new -s mysession
    
  • 分离会话(保留后台运行):
    Ctrl+b d

  • 列出会话

    tmux ls
    
  • 恢复会话

    tmux attach -t mysession
    
  • 分屏

    • 水平分屏:Ctrl+b "
    • 垂直分屏:Ctrl+b %
  • 新建窗口
    Ctrl+b c

有了这些基础操作,你就能在一个 tmux 会话里同时管理多个任务了。


3. 推荐 tmux 配置

新建或编辑 ~/.tmux.conf 文件,加入以下配置:

set -sg escape-time 0
set-option -g history-limit 30000# 在当前目录创建新窗口 / 分屏
unbind-key c
bind c new-window -c "#{pane_current_path}"
unbind-key '"'
unbind-key '%'
bind '"' split-window -c '#{pane_current_path}'
bind '%' split-window -h -c '#{pane_current_path}'
# end# 显示面板标题(面板索引 + 命令)
set -g pane-border-status top
set -g pane-border-format "#{pane_index} #T"# 窗口和面板编号从 1 开始
set -g base-index 1
setw -g pane-base-index 1# 保持环境变量同步(如 SSH、X11 等)
set-option -g update-environment "DBUS_SESSION_BUS_ADDRESS DISPLAY SSH_ASKPASS SSH_AUTH_SOCK SSH_AGENT_PID SSH_CONNECTION WINDOWID XAUTHORITY"# 启用鼠标支持(滚动/切换/拖拽面板)
set -g mouse on# 默认使用 zsh
set -g default-command /usr/bin/zsh

4. 配置详解

  • set -sg escape-time 0
    减少前缀键后续按键的延迟,使操作更加流畅。

  • set-option -g history-limit 30000
    增加滚动缓冲区,方便回溯日志或输出内容。

  • 在当前目录创建新窗口 / 分屏
    默认情况下,新窗口会在 home 目录启动,这里改为继承当前目录,更贴合日常开发需求。

  • set -g pane-border-status top
    在面板边框顶部显示标题,结合 pane-border-format,可以快速识别每个 pane 里在运行的命令。

  • 窗口和面板从 1 开始编号
    更直观,不用从 0 开始数。

  • set -g mouse on
    启用鼠标支持,可以直接用鼠标滚动、点击切换窗口或拖动面板,非常实用。

  • set -g default-command /usr/bin/zsh
    默认使用 zsh 作为 shell(如果你平时用 bash,可以改成 /bin/bash)。


5. 使用效果展示

配置完成后,重新加载配置:

tmux source-file ~/.tmux.conf

现在你就能体验到:

  • 快速无延迟的键盘操作;
  • 新窗口 / 分屏自动继承当前目录;
  • 鼠标滚动查看历史输出;
  • 面板顶部显示命令,窗口和面板编号从 1 开始。

一个高效、顺手的终端工作流,就此打造完成。


6. 总结

tmux 是开发者必备的终端利器,能够极大提升工作效率。
通过安装、学习基础命令,再配合合理配置,你就能在命令行中享受媲美 GUI 的多任务体验。

推荐大家先熟悉基本操作,再根据自己的习惯调整配置。本文提供的配置是一份高效通用的模板,适合大多数开发场景。

http://www.xdnf.cn/news/1354447.html

相关文章:

  • Autosar CAN开发06(CAN通讯开发需求-CAN矩阵)
  • AI+预测3D新模型百十个定位预测+胆码预测+去和尾2025年8月23日第168弹
  • 【机器学习深度学习】模态与多模态的概念
  • 使用 AD 帐户从 ASP.NET 8 容器登录 SQL Server 的 Kerberos Sidecar
  • uniapp对接一键登录
  • FL Studio Win版.exe安装教程(直接安装版/详细步骤/附安装包下载)
  • 全面解析主流AI模型:功能对比与应用推荐
  • 离线优先与冲突解决:ABP vNext + PWA 的边缘同步
  • AI实现超级客户端打印 支持APP 网页 小程序 调用本地客户端打印
  • 可视化-模块1-HTML-02
  • week4-[循环结构]生日悖论-new
  • Dubbo vs Feign
  • Python 学习(十六) 下一代 Python 包管理工具:UV
  • More Effective C++ 条款04:非必要不提供默认构造函数
  • Day58 Java面向对象13 instanceof 和 类型转换
  • OCR、文档解析工具合集(下)
  • Text2API与Text2SQL深度对比:自然语言驱动的数据交互革命
  • 【51单片机】【protues仿真】基于51单片机冰箱系统
  • 嘉立创EDA快捷键汇总
  • 每日一题8.23
  • Windows应急响应一般思路(三)
  • 从词源和输出生成等角度详细解析PHP中常用文件操作类函数
  • BEVDet/BEVDet4D
  • 【40页PPT】数据安全动态数据脱敏解决方案(附下载方式)
  • LeetCode 分类刷题:2529. 正整数和负整数的最大计数
  • 【大语言模型 16】Transformer三种架构深度对比:选择最适合你的模型架构
  • XCVM1802-2MSEVSVA2197 XilinxAMD Versal Premium FPGA
  • flink常见问题之超出文件描述符限制
  • android studio配置 build
  • VS Code 中创建和开发 Spring Boot 项目