tmux简介及用途
tmux是一个终端复用工具,允许用户在一个终端会话中同时管理多个终端窗口,提高了终端使用效率,尤其在服务器上进行远程管理时更加实用。在tmux中,可以创建多个终端窗口和窗格,并在这些窗口和窗格之间自由切换,还可以在后台运行会话,即使在终端断开连接后也可以继续操作,这非常有用,特别是在长时间运行的命令中。
安装和配置tmux
tmux已经被打包,可以使用包管理器进行安装。可以使用以下命令安装:
操作系统 | 安装命令 |
---|---|
Arch Linux | pacman -S tmux |
Debian or Ubuntu | apt install tmux |
Fedora | dnf install tmux |
RHEL or CentOS | yum install tmux |
macOS (using Homebrew | brew install tmux |
macOS (using MacPorts) | port install tmux |
openSUSE | zypper install tmux |
在 tmux 中,会话、窗口和面板是组织你的工作环境的三个基本单位。在本文中,我们将介绍每个单位的含义以及如何使用它们。
tmux 会话、窗口和面板
会话(session)
会话是 tmux 最高层次的单位。它可以包含多个窗口和面板,并可以在不同的终端或远程 SSH 连接之间共享。在 tmux 中创建新的会话时,它将在后台运行,可以在需要时重新连接并恢复之前的状态。
以下是一些常用的 tmux 会话命令:
-
tmux new -s [session-name]
- 创建一个名为session-name
的新会话。 -
tmux attach -t [session-name]
- 连接到名为session-name
的会话。 -
tmux list-sessions
- 列出当前所有的 tmux 会话。 -
tmux kill-session -t [session-name]
- 关闭名为session-name
的会话。
窗口(window)
窗口是会话中的一组单独的工作区。每个窗口都有自己的标题栏,其中包含窗口的名称以及其他信息。在 tmux 中,您可以创建多个窗口,并在它们之间切换以在同一会话中执行不同的任务。
面板(pane)
面板是窗口中的可分割区域。在同一个窗口中,您可以创建多个面板并在它们之间切换以同时执行多个任务。您可以垂直或水平拆分面板,以便将工作区划分为多个区域。
如图:两个 pane 组成一个 window,多个 window 组成一个 session
tmux 快捷键
在使用tmux时,最重要的是在不同的会话、窗口和面板之间切换。下面将介绍在tmux中如何进行这些切换以及快捷键,其中prefix
是您在tmux中定义的前缀键,默认情况下为Ctrl + b
。
会话
-
切换到上一个会话
prefix + (
-
切换到下一个会话
prefix + )
-
列出所有会话
prefix + s
,选择后回车即可进入特定的 session
窗口
-
创建新窗口,可以使用
prefix + c
-
切换到上一个窗口,可以使用
prefix + p
-
切换到下一个窗口,可以使用
prefix + n
-
列出所有窗口,可以使用
prefix + w
,选择后即可进入特定的 window
面板
-
横向分割,可以使用
prefix + %
-
纵向分割,可以使用
prefix + :
-
切换面板,可以使用
prefix + 方向键
帮助
可以使用prefix + ?
tmux 配置及改键
配置文件
tmux 的配置文件位于 ~/.tmux.conf
。如果该文件不存在,可以手动创建。
配置文件示例
下面是一个简单的 tmux 配置文件示例:
vbnetCopy code
# 使用鼠标
set-option -g mouse on
# 自动重命名窗口
set-option -g allow-rename on
# 自动切换到新窗口
set-option -g switch-window -n
# 更改窗口状态栏前缀
set-option -g status-left "[#S]"
# 更改窗口状态栏颜色
set-option -g status-bg colour235
set-option -g status-fg white
set-option -g window-status-current-bg colour236
set-option -g window-status-current-fg black
set-option -g window-status-bg colour235
set-option -g window-status-fg white
改键
tmux 的默认键位设置并不是所有人都习惯,所以我们需要对其进行改键。
其他常用快捷键
很多常用的快捷键可以进行改键,比如:
# 切换窗口
bind-key -n C-h select-pane -L
bind-key -n C-l select-pane -R
bind-key -n C-j select-pane -D
bind-key -n C-k select-pane -U
# 重命名窗口
bind-key -n C-r command-prompt -p "Rename window to: " "rename-window '%%'"
文章最后会给出我使用的 tmux 配置文件
tmux 插件
tmux 插件是由社区开发和维护的,可以通过 Git 存储库进行安装和管理。tmux 插件管理器(TPM)是一种常见的插件管理方式,它能够简化安装、更新和管理多个 tmux 插件的过程。
在本文中,我们将介绍如何安装和配置 tmux 插件管理器(TPM),以及如何安装、更新和管理 tmux 插件。
安装和配置 tmux 插件管理器(TPM)
首先,您需要下载并安装 tmux 插件管理器。您可以从 TPM 的 GitHub 存储库中下载脚本,将其保存到您的本地计算机上,然后将其移动到 ~/.tmux/plugins/
目录下。
$ git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
接下来,您需要将以下代码添加到 ~/.tmux.conf
文件中:
# List of plugins
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
# Initialize TPM
# 确保此代码放置在 `~/.tmux.conf` 文件的最底部。
run '~/.tmux/plugins/tpm/tpm'
重载配置文件即可完成安装
tmux source ~/.tmux.conf
安装和管理插件
现在,您已经成功安装并配置了 TPM,接下来我们将介绍如何使用 TPM 安装和管理插件。
-
安装插件,请使用
prefix + I
-
更新插件,可以使用
prefix + U
-
禁用插件,请将其从
~/.tmux.conf
文件中删除,然后重新加载 tmux 配置文件。
以下是一些常用的tmux插件,它们可以提高tmux的使用体验并增强其功能:文章来源:https://www.toymoban.com/news/detail-780727.html
- Tmux Resurrect:可以在tmux崩溃或关闭会话时自动保存和恢复会话状态的插件。官方网站:https://github.com/tmux-plugins/tmux-resurrect
- Tmuxinator:可以创建和管理tmux会话的命令行工具。官方网站:https://github.com/tmuxinator/tmuxinator
- Tmux Open:可以轻松地从tmux会话中打开文件或URL的插件。官方网站:https://github.com/tmux-plugins/tmux-open
- Tmux Sidebar:可以在tmux会话的侧边栏中显示各种信息,如系统资源、时间和日期等。官方网站:https://github.com/tmux-plugins/tmux-sidebar
- Tmux CPU:可以在tmux状态栏中显示CPU使用率的插件。官方网站:https://github.com/tmux-plugins/tmux-cpu
- Tmux Battery:可以在tmux状态栏中显示电池电量和充电状态的插件。官方网站:https://github.com/tmux-plugins/tmux-battery
- Tmux Yank:可以在tmux和系统剪贴板之间复制和粘贴文本的插件。官方网站:https://github.com/tmux-plugins/tmux-yank
- Tmux Copycat:可以帮助您在tmux缓冲区中搜索和复制文本的插件。官方网站:https://github.com/tmux-plugins/tmux-copycat
以上是一些常用的tmux插件,它们可以提高tmux的使用体验并增强其功能。您可以访问它们的官方网站了解更多信息,也可以使用TPM管理器轻松安装和管理它们。文章来源地址https://www.toymoban.com/news/detail-780727.html
我使用的 tmux 配置
set-window-option -g mode-keys vi
set -g mouse on
set -g set-clipboard on
# List of plugins
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
set -g @plugin 'tmux-plugins/tmux-yank'
set -g @plugin 'tmux-plugins/tmux-resurrect'
set -g @plugin 'tmux-plugins/tmux-continuum'、
# 插件可以使用 C + h\j\k\l 在面板中移动
set -g @plugin 'christoomey/vim-tmux-navigator'
# Other examples:
# set -g @plugin 'github_username/plugin_name'
# set -g @plugin 'github_username/plugin_name#branch'
# set -g @plugin 'git@github.com:user/plugin'
# set -g @plugin 'git@bitbucket.com:user/plugin'
# 改键 prefix + | 横向切分面板
# bind keys
unbind %
bind | split-window -h
# 改键 prefix + - 纵向切分面板
unbind '"'
bind - split-window -v
# 改键 prefix + r 重载配置文件
unbind r
bind r source-file ~/.tmux.conf
# 改键 可以按 prefix + h\j\k\l 调整面板的大小,-r 代表可以连续按
bind -r j resize-pane -D 5
bind -r k resize-pane -U 5
bind -r l resize-pane -R 5
bind -r h resize-pane -L 5
bind -r m resize-pane -Z
bind C-l send-keys 'C-l'
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
run '~/.tmux/plugins/tpm/tpm'
到了这里,关于tmux 使用看这一篇文章就够了的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!