作为一个合格的后端程序员,一般情况下我们都是登录linux服务器在终端上coding。然而作为一个新入门linux开发的萌新,总是习惯于之前在vscode、pycharm这一类IDE开发,可以轻松的在一个窗口里打开多个文件。如果你还在为此烦恼,那么我将诚挚地向你推荐本文的主角————tmux这一神器。
tmux的优点
最直观来说,有两个优点让你忘而难返:
- 既支持多标签,也支持窗体内部Panel的分割。具体来说可以打开多个窗口(标签区分),另外可以一个窗口进行分割,每个小窗口即为一个终端;
- 提供了一个窗体组随时存储和恢复的功能。
tmux的基本概念
tmux的主要元素分为三层:
- session,一组窗口的结合,通常一个session概况同一个任务,session可以有自己的名字方便任务之间的切换
- windows,单个可见窗口,windows有自己的编号,类似与item2的Tab
- pane,窗格,被划分成小块的窗口。
具体展现图如下:

个人目录下安装
一般来说,我们都喜欢用sudo权限安装软件,一行命令即可。但在远程服务器开发,这种方式想想就好,最好还是在个人目录下操作不至于影响别的用户环境。由于tmux依赖libevent以及ncurses,所以这两个也需要一并安装。
1. 源码下载
命令如下:
wget https://github.com/tmux/tmux/releases/download/2.2/tmux-2.2.tar.gz
wget https://github.com/libevent/libevent/releases/download/release-2.0.22-stable/libevent-2.0.22-stable.tar.gz
wget http://ftp.gnu.org/gnu/ncurses/ncurses-6.0.tar.gz
下载完毕后,解压各压缩包。
2. 各软件的安装
- libevent
./configure --prefix=$HOME/.local --disable-shared make make install - ncurses
./configure --prefix=$HOME/.local make make install - tmux
./configure CFLAGS="-I$HOME/.local/include -I$HOME/.local/include/ncurses" LDFLAGS="-L$HOME/.local/lib -L$HOME/.local/include/ncurses -L$HOME/.local/include" --prefix=$HOME/.local make cp tmux $HOME/.local/bin
3. bashrc环境更新
上述过程完成了tmux安装,另外可以将$HOME/.local/bin加入PATH中,方便直接tmux命令启动。
# 在~/.bashrc中加入下面命令
export $PATH="$HOME/.local/bin:$PATH"
# 保存后source环境
source ~/.bashrc
以上过程即为tmux的安装方式。


