Tmux教程 (一文就够)

Tmux是一个强大的终端复用器,能有效提高开发效率。本文详细介绍了tmux的基本概念如session、window和pane,以及如何安装、启动、分离、绑定和退出session。同时讲解了窗口和窗格的操作,包括新建、切换、重命名等,并提供了丰富的快捷键参考,帮助用户更加高效地使用tmux进行多任务管理。
该文章已生成可运行项目,


使用教程网上相关的Tmux教程很多,可是看完感觉不是太细就是太散,有一些不常用的操作、快捷键也写出来了,感觉重点不够突出。所以自己总结一份Tmux使用教程。可以根据目录寻找需要的操作

1. Tmux是什么?

在这里插入图片描述

Tmux是一个终端复用器(terminal multiplexer),属于常用的开发工具,学会了之后可以大大的提高工作效率。

1.1 基本概念

在使用tmux之前我们先了解关于tmux的几个名词:

  • session,会话(任务)
  • windows,窗口
  • pane,窗格

关于session,很多人把session成为会话,但我觉得任务更适合一些。

在普通的终端中,窗口和其中由于session(任务)而启动的进程是连在一起的,关闭窗口,session就结束了,session内部的进程也会终止,不管是否运行完。但是在具体使用中,我们希望当前的session隐藏起来,在终端中做其他事情,但是又不希望session及其进程被关闭。这样就需要用到tmux,对session进行解绑。之后再想继续出来这个session的时候,再次绑定就可以回到之前的工作状态。

对于window可以理解为一个工作区,一个窗口

对于一个session,可以创建好几个window,对于每一个窗口,都可以将其分解为几个pane小窗格。

所以,关于session、window、pane的关系是:
[ p a n e ∈ w i n d o w ] ∈ s e s s i o n [pane \in window] \in session [panewindow]session

1.2 安装

# Ubuntu or Debian
sudo apt-get install tmux

# CentOS or Fedora
sudo yum install tmux

# Mac
brew install tmux

2. session操作

2.1 启动

新建session,可以在terminal上输入tmux命令,会自动生成一个id为0的session

tmux

也可以在建立时显式地说明session的名字,这个名字可以用于解绑后快速的重新进入该session

tmux new -s your-session-name

2.2 分离

在tmux窗口中,按下ctrl+b d或者输入以下命令,就会将当前session与窗口分离,session转到后台执行:

tmux detach

2.3 退出

如果你想退出该session,可以杀死session:

tmux kill-session -t your-session-name

当然,也可以使用ctrl+d关闭该session的所有窗口来退出该session。

2.4 绑定、解绑、切换session

假设现在正处于session1,使用分离操作就是将session1进行解绑:

tmux detach

而如果你想再次绑定session1,可以使用命令:

tmux attach -t your-session-name

切换到指定session:

tmux switch -t your-session-name

2.5 重命名session

tmux rename-session -t old-session new-session

3. window操作

一个session可以有好几个window窗口。

3.1 新建窗口tmux new-window

# 新建一个指定名称的窗口
tmux new-window -n your-window-name

3.2 切换窗口

命令就不记了,使用快捷键更方便:

  • ctrl+b c: 创建一个新窗口(状态栏会显示多个窗口的信息)
  • ctrl+b p: 切换到上一个窗口(按照状态栏的顺序)
  • ctrl+b n: 切换到下一个窗口
  • ctrl+b w: 从列表中选择窗口(这个最好用)

3.3 重命名窗口

执行:

tmux rename-window -t old_name new_name

4. pane操作

tmux可以将一个窗口分为几个窗格(pane),每个窗格运行不同的命令。

4.1 划分窗格

# 划分为上下两个窗格
tmux split-window

# 划分左右两个窗格
tmux split-window -h

其实划分窗格pane使用快捷键更方便,如果你当前pane正在运行程序不就没法使用命令了嘛。

左右划分ctrl+b %
上下划分ctrl+b "

4.2 光标位置

使用语句太麻烦了,使用快捷键最好:ctrl+b arrow-key(方向键):光标切换到其他窗格4.3 交换窗格位置

# 当前窗格往上移
tmux swap-pane -U

# 当前窗格往下移
tmux swap-pane -D

4.4 关闭窗格

ctrl+d,记住如果只有一个窗格就是关闭window哦

5. 其他操作

# 列出所有快捷键,及其对应的 Tmux 命令
$ tmux list-keys

# 列出所有 Tmux 命令及其参数
$ tmux list-commands

# 列出当前所有 Tmux 会话的信息
$ tmux info

# 重新加载当前的 Tmux 配置
$ tmux source-file ~/.tmux.conf

5.1 tmux上下翻屏

使用快捷键ctrl+b [ ,就可以通过方向键上下移动使用PageUpPageDown可以实现上下翻页

本文章已经生成可运行项目
05-31
### 什么是 tmuxtmux 是一个终端复用工具,允许用户在一个单一的窗口中运行多个终端会话。它支持会话分离与重新连接功能,使得用户可以在断开连接后重新进入之前的会话[^1]。 ### 如何启动 tmux? 通过在终端中输入以下命令即可启动 tmux: ```bash tmux ``` 这将创建一个新的 tmux 会话,并打开一个默认的终端窗口[^2]。 ### 如何列出所有会话? 可以使用以下命令列出当前所有的 tmux 会话: ```bash tmux ls ``` 或者使用更详细的命令: ```bash tmux list-sessions ``` 这两个命令的功能相同,能显示当前所有活动的 tmux 会话列表[^3]。 ### 如何重新进入会话? 如果需要重新进入某个会话,可以使用以下命令: - 根据会话编号进入: ```bash tmux attach -t <session-id> ``` - 根据会话名称进入: ```bash tmux attach -t <session-name> ``` 简化版本为: ```bash tmux a -t <session-name> ``` 如果只想直接进入第一个会话,可以使用: ```bash tmux a ``` 这将自动连接到最近断开的会话[^3]。 ### 如何将当前会话置于后台? 有两种方法可以将当前会话置于后台: 1. 使用快捷键:`Ctrl + b`, 松开后再输入 `d`。 2. 直接执行命令: ```bash tmux detach ``` 这两种方式均会将当前会话放到后台运行[^3]。 ### 如何切换不同的会话? 在 tmux 中,可以通过以下命令在不同会话之间切换: - 列出会话并选择: ```bash tmux choose-session ``` 这将弹出一个交互式的会话选择界面[^3]。 ### 自定义 tmux 配置 tmux 的配置文件位于 `~/.tmux.conf`,用户可以通过编辑此文件来自定义 tmux 的行为。例如: - 修改前缀键为 `Ctrl + a`: ```bash set-option -g prefix C-a unbind-key C-b bind-key C-a send-prefix ``` - 启用鼠标支持: ```bash set -g mouse on ``` 修改完成后,可以通过以下命令重新加载配置文件: ```bash tmux source-file ~/.tmux.conf ``` 这将使配置更改立即生效[^4]。 ### 常用快捷键 以下是 tmux 的一些常用快捷键(默认前缀为 `Ctrl + b`): - 创建新窗口:`Ctrl + b`, 然后按 `c` - 切换至上一个窗口:`Ctrl + b`, 然后按 `p` - 切换至下一个窗口:`Ctrl + b`, 然后按 `n` - 水平分割窗口:`Ctrl + b`, 然后按 `"` - 垂直分割窗口:`Ctrl + b`, 然后按 `%` 更多快捷键可以通过以下命令查看: ```bash tmux list-keys ``` ### 示例代码 以下是一个简单的 tmux 配置文件示例: ```bash # 设置前缀键为 Ctrl + a set-option -g prefix C-a unbind-key C-b bind-key C-a send-prefix # 启用鼠标支持 set -g mouse on # 设置默认主题颜色 set -g status-bg black set -g status-fg white ```
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值