Tmux 速成教程:技巧和调整

有些开发者经常要使用终端控制台工作,导致最终打开了过多的标签页。如果你也是他们当中的一员,或者你正在实践结对编程,那么我推荐你读一读这篇文章。从上个月开始,我开始大量使用 Tmux 并且发现 Tmux 非常实用,所以我想应该写一篇文章,与诸位分享一些有关使用 Tmux 的建议和专业方案。本文将先介绍 Tmux 是什么,然后讲解如何使用 Tmux,才能使其同 Vim 结合起来,打造出更高效、更优雅的终端工具。

本文将会包含以下内容:

Tmux 的基础

Tmux 中最棒的功能

窗口(Window)

窗格(Pane)

会话(Session)

快速在文本间移动光标或复制文本

非常轻巧的结对编程功能

调整 Tmux 以增强其同 Vim 的集成度

调整背景的配色方案

调整光标的形状

调整粘贴时的文本缩进

其他能够提升 Tmux 体验的工具或技巧

用 Tmuxinator 自动创建会话

改变 Tmux 状态栏的颜色

请注意,在撰写本文的过程中,我安装了以下这一组软件,并在测试时使用了这些版本:

Tmux 1.9a

Vim 7.4

iTerm 2.1

Mac OS (Mavericks and Yosemite)

让我们开始吧!

基础知识 什么是Tmux?

Tmux 是一个工具,用于在一个终端窗口中运行多个终端会话。不仅如此,你还可以通过 Tmux 使终端会话运行于后台或是按需接入、断开会话,这个功能非常实用。稍后,我们将会看到如何充分地利用这个功能。

如图所示,这就一个是 Tmux 的会话:

Tmux 速成教程:技巧和调整

从图中我们可以看出:

左侧:Vim

右侧:系统 Shell

左下方:Tmux 会话的名字(“pomodoro-app”)

下方的中部:当前会话中的 Tmux 窗口(“app log”、“editor”和 “shell”)

右下方:当前的日期

如何安装 Tmux? 在 Mac OS 中安装:

安装 Homebrew

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

有关安装 homebrew 的详细的信息可以参考这里

安装 Tmux

$ brew install tmux

Ubuntu 中安装:

在终端输入如下命令:

$ sudo apt-get install tmux

Tmux 的快捷键前缀(Prefix)

为了使自身的快捷键和其他软件的快捷键互不干扰,Tmux 提供了一个快捷键前缀。当想要使用快捷键时,需要先按下快捷键前缀,然后再按下快捷键。Tmux 所使用的快捷键前缀默认是组合键 Ctrl-b(同时按下 Ctrl 键和 b 键)。例如,假如你想通过快捷键列出当前 Tmux 中的会话(对应的快捷键是 s),那么你只需要做以下几步:

按下组合键 Ctrl-b (Tmux 快捷键前缀)

放开组合键 Ctrl-b

按下 s 键

这里有一些小建议:

首先我建议对调 Ctrl 键和 Caps-Lock (大写锁定)键的功能。

通过按下 Caps-Lock 键来代替 Ctrl 键将会非常实用。因为在编码过程中,你需要频繁地按下Ctrl 键,而由于 Caps-Lock 与手指在键盘的起始位置处于同一直线,所以按下 Caps-Lock 键会更加容易、便捷。

其次,我建议将 Tmux 的快捷键前缀变为 Ctrl - a。用 Caps-Lock 键替代了 Ctrl 键之后,由于 Caps-Lock 键与 a 键离得更近,所以按下 Ctrl - a 就将会比按下 Ctrl - b 更容易、更便捷。

若要将快捷键前缀变更为 Ctrl-a ,请将以下配置加入到 Tmux 的配置文件 ~/.tmux.conf 中:

unbind C-b

set-g prefix C-a

Tmux 的配置文件

每当开启一个新的会话时,Tmux 都会先读取 ~/.tmux.conf 这个文件。该文件中存放的就是对 Tmux 的配置。

小提示:如果你希望新的配置项能够立即生效,那么你可以将下面这一行配置加入到文件~/.tmux.conf 中。

# bind a reload key

bind R source-file ~/.tmux.conf \; display-message "Config reloaded.."

这样配置了之后,每当向 ~/.tmux.conf 文件中添加了新的配置,只需要按下 Ctrl-b r 就可以重新加载配置并使新的配置生效,从而免去了开启一个新的会话。

Tmux 中最棒的功能

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/16245.html