tmux配置

时间:2020-02-23 14:40:35  来源:igfitidea点击:

tmux配置文件(tmux.conf)

  • 默认情况下,tmux在两个地方查找配置设置。

  • 它首先在/etc/tmux.conf中查找系统范围的配置。

  • 然后,它会在当前用户的主目录中查找名为" .tmux.conf"的文件。

  • 如果这些文件不存在,则tmux仅使用其默认设置

目前,我们将为我的root用户创建用户特定的tmux配置文件。

# touch ~/.tmux.conf

1.更改前缀组合

我们要做的第一件事是更改前缀组合。
使用ctrl + b几乎不会触发,因为键盘上的按钮已经很远了,因此我们将其更改为ctrl + a

说明:

我们可以将第三方工具用作Windows上的自动热键,以将Capslock密钥映射到ctrl,以便我们更方便地访问Prefix组合

要更改前缀组合,请在~/.tmux.conf中添加以下内容

# Setting the prefix from C-b to C-a
set -g prefix C-a
  • 其中我们使用-g开关进行全局设置,该开关为我们创建的所有tmux会话设置选项。

  • 不必要,但是我们可以使用unbind-key或者unbind命令删除已定义的键绑定,因此稍后我们可以为该键分配其他命令。

  • 让我们在~/.tmux.conf中释放这样的Ctrl-b:

# Free the original Ctrl-b prefix keybinding
unbind C-b

tmux不会自动读取对文件的更改。

因此,如果我们在运行tmux时正在编辑.tmux.conf文件,则需要完全关闭所有tmux会话,或者使用Prefix::进入tmux命令模式。
每当我们进行更改时,请键入以下内容:source-file~/.tmux.conf现在,对于任何新会话,我们都可以使用Ctrl + a作为新的前缀组合。

2.更改默认延迟

前缀组合和命令之间的默认延迟值非常小,有时不起作用,因此我们可以增加延迟值

要更改默认延迟值,我们在~/.tmux.conf文件中添加以下内容

#setting the delay between prefix and command
set -s escape-time 5

现在,对于所有新的tmux会话,点击Prefix后,我们将有5秒钟的时间输入命令按键

3.设置窗口和窗格索引

默认情况下,我们知道所有窗口或者窗格都以索引0开头。
因此,我们可以定义自己的索引值,每次在tmux会话中打开新窗口或者窗格时,该值都将被视为基础

要为新窗口定义自定义索引值,请在~/.tmux.conf文件中添加以下内容

# Set the base index for windows to 1 instead of 0
set -g base-index 1

要为新窗格定义自定义索引值,请在~/.tmux.conf文件中添加以下内容

# Set the base index for panes to 1 instead of 0
set -g pane-base-index 1

现在,我们可以开始一个新会话并验证索引基值

4.创建快捷方式以重新加载配置文件

每次修改tmux配置文件时,我们都必须

  • 关闭所有tmux会话并重新启动它们

  • 在所有会话上使用源文件~/.tmux.conf

重新加载配置文件

让我们创建一个自定义按键绑定以重新加载配置文件。
bind命令定义一个新的键绑定。
我们指定要使用的密钥,然后指定要执行的命令。

让我们定义Prefixr,以便它在当前会话中重新加载.tmux.conf文件。
将此行添加到~/.tmux.conf文件中。
提示:重新加载文件时,可能无法始终分辨出任何更改,但是可以使用display命令在状态行中显示一条消息。

# Set bind key to reload configuration file
bind r source-file ~/.tmux.conf \; display "Reloaded!"

现在,我们可以使用带有r键的Prefix重新加载配置文件,并且状态栏应显示为Reloaded!因此我们知道新的配置文件更改已应用

5.分割窗格

前缀%的默认组合很难被击中,因为它涉及4次击键Ctrl + a Fun + 5,因此我们可以定义一个cstom绑定组合来拆分窗格。
我们将水平分割设置为Prefix |和垂直分割为Prefix

# splitting panes with | and 
bind | split-window -h
bind - split-window -v

6.启用鼠标支持

  • 我们知道,tmux完全由键盘驱动,但有时使用鼠标可以方便地进行移动。

  • 有时候,可以使用鼠标滚轮在终端缓冲区中向上滚动,或者选择窗口和窗格,这非常好,尤其是在我们刚开始使用tmux时。
    要配置tmux,以便我们可以使用鼠标,我们需要启用鼠标模式。

# Enable mouse support
set -g mouse on

此设置配置了" tmux",因此它将使我们能够使用鼠标来选择窗格或者调整窗格的大小,让我们单击窗口列表来选择一个窗口,甚至让我们使用鼠标向后滚动缓冲区(如果终端)支持它。

7.更改默认编辑器

status-key选项使我们可以修改在tmux命令提示符下键入时移动光标的方式。
tmux的默认设置是使用Emacs模式键,因此如果我们是Emacs用户,则可能已经准备就绪。
tmux还尝试提供帮助,并且可能会根据环境变量默认切换到一个组或者另一个组。

要切换到vi编辑器,我们可以使用

# Set vi as the default editor
set -g status-keys vi

8.更改状态栏的背景和前景色

状态栏的默认颜色是绿色阴影。
我们可以使用以下命令更改状态栏的默认背景和前景

# set the status line's colors
set -g status-style fg=white,bg=blue

提示:有些终端支持256种颜色的完整xterm调色板,有些仅支持16种颜色,有些则不支持任何颜色。
由于终端颜色主题的缘故,大多数显示器都有自己的色彩风格,因此我们指定为蓝色的内容可能根本不会在屏幕上呈现为蓝色。

9.高亮显示活动窗口

当我们有多个窗口时,默认情况下,我们可以通过选中星号来标识活动窗口。
我们还可以为活动窗口分配自定义背景色,这可以帮助我们轻松确定:

# Set different background color for active window
set -g window-status-current-bg magenta

10.显示可用选项

现在,我们可以根据需要使用tmux进行配置,以简化生活。
要获取支持的选项列表,我们需要启动tmux会话

# tmux

接下来,使用前缀d断开会话。
现在,在终端上,我们可以使用不同的命令来查看受支持的选项:

获取全局选项列表

# tmux show-options -g

获取窗口选项列表

# tmux show-options -w

获取服务器选项列表

# tmux show-options -s

因此,我们可以在tmux.conf配置文件中添加自定义值并绑定键。