版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/gneveek/article/details/82803909
旧版 tmux 很多配置不支持,所以为了使用所有的最新特性,有必要把 tmux 升级到最新。
我们直接从 github 上拉代码,然后编译安装。
先安装依赖
# libevent 2.1.8
wget https://github.com/libevent/libevent/releases/download/release-2.1.8-stable/libevent-2.1.8-stable.tar.gz
tar xzvf libevent-2.1.8-stable.tar.gz
cd libevent-2.1.8-stable
./configure & make -j8
sudo make install
# ncurses
yum install ncurses -y
安装 tmux
git clone https://github.com/tmux/tmux.git
cd tmux
sh autogen.sh
./configure && make -j8
sudo make install
安装完看下版本号对不对:
tmux -V
如果显示的是 tmux master, 说明更新成功,这个 master 可能是 git 主分支的意思,不用管它,一定是最新的。
如果不是,说明 install 没成功,手动拷贝过去
# 编译出来的程序在 tmux 目录内,这里假设你还没离开 tmux 目录
cp tmux /usr/bin/tmux -f
cp tmux /usr/local/bin/tmux -f
找不到 libevent 的问题
还有个小细节,会提示找不到 libevent.so.2.1.so.6
解决办法:
先 ldd tmux 看下情况:
[root@localhost tmux]# ldd tmux
linux-vdso.so.1 => (0x00007ffc061ef000)
libutil.so.1 => /lib64/libutil.so.1 (0x00007fcd89d3a000)
libtinfo.so.5 => /lib64/libtinfo.so.5 (0x00007fcd89b10000)
libevent-2.1.so.6 => not found
libresolv.so.2 => /lib64/libresolv.so.2 (0x00007fcd896a2000)
libc.so.6 => /lib64/libc.so.6 (0x00007fcd892d5000)
libcrypto.so.10 => /lib64/libcrypto.so.10 (0x00007fcd88e73000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fcd88c57000)
/lib64/ld-linux-x86-64.so.2 (0x000056523e65b000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007fcd88a53000)
libz.so.1 => /lib64/libz.so.1 (0x00007fcd8883c000)
这里我们看到,tmux 在寻找 .so 文件时,是在 /lib64 下面找的,而我们刚刚在安装 libevent 时,是安装在下面这些目录里的:
/usr/local/lib/libevent-2.1.so.6
所以我们只需要把这个文件再拷贝到 /lib64 里就好了
cp /usr/local/lib/libevent-2.1.so.6 /lib64/libevent-2.1.so.6
推荐一个 tmux 配置
https://github.com/gpakosz/.tmux
这个配置默认没开鼠标模式,可以手动打开:
vim ~/.tmux.conf.local
/mouse 回车
找到下面这一行:
#set -g mouse on
把前面的 # 去掉就好了
2.1版之前要开鼠标模式要输入4个命令
set -g mode-mouse on
set -g mouse-resize-pane on
set -g mouse-select-pane on
set -g mouse-select-window on
2.1之后就只要一句就可以了
set -g mouse on
github 上的版本 >= 2.2
然后在 tmux 里
Ctrl+b
Shift+;
source-file ~/.tmux.conf
重新加载配置文件
如果是vim用户,把vi模式打开:
# force Vi mode
# really you should export VISUAL or EDITOR environment variable, see manual
set -g status-keys vi
set -g mode-keys vi