tmux
使用的详细笔记,包括鼠标设置、命令历史绑定、从源码编译、安装tmux-resurrect
和tmux-continuum
插件以实现会话持久化的步骤。同时还介绍了常见问题解决方法,如更改配置后重启tmux
服务,以及trzsz
工具的安装,方便在tmux
中进行文件安全传输。
1. 设置鼠标操作
tmux2.1之前版本:
tmux set-option -g mouse-select-pane on
tmux set-option -g mouse-resize-pane on
tmux set-option -g mouse-select-window on
tmux set-window-option -g mode-mouse on
开启鼠标模式后,复制文本需要按住shit进行选择。
tmux 2.1 之后
tmux set-option -g mouse on
2. bash绑定历史命令
在~/.inputrc
文件写入如下内容:
"\e[A": history-search-backward
"\e[B": history-search-forward
set show-all-if-ambiguous on
set completion-ignore-case on
## 或者一步到位
echo IlxlW0EiOiBoaXN0b3J5LXNlYXJjaC1iYWNrd2FyZAoiXGVbQiI6IGhpc3Rvcnktc2VhcmNoLWZvcndhcmQKc2V0IHNob3ctYWxsLWlmLWFtYmlndW91cyBvbgpzZXQgY29tcGxldGlvbi1pZ25vcmUtY2FzZSBvbgo=|base64 -d > ~/.inputrc && bind -f ~/.inputrc
接着运行:bind -f ~/.inputrc
3. tmux编译
1. 安装依赖
yum -y install libtermcap-devel ncurses-devel libevent-devel readline-devel
yum -y install gcc automake byacc
2. 安装
git clone https://github.com/tmux/tmux.git
cd tmux
./autogen.sh
./configure
make && make install
4. tmux 插件
1. TPM
tmux plugin manager
是专门用于管理tmux插件。
1. vim ~/.tmux.conf
添加3个插件: set的部分,会在安装好TPM后通过tmux session中快捷键安装
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
set -g @plugin 'tmux-plugins/tmux-resurrect'
run '~/.tmux/plugins/tpm/tpm'
2. 安装tpm
1. git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
2. 按`<Prefix> + I` 进行上速set -g指定的插件安装(Prefix指代ctrl+b)
3. 查看目录
如果安装成功,可以在tmux目录下看到下述3个插件
<img src=“tmux.assets/image-20210827140042460.png” alt=“image-20210827140042460” style=“zoom:50%;” />
2. 设置tmux-resurrect
tmux-resurrect
插件用于恢复session,比如服务器重启。
1. vim ~/.tmux.conf
开启保存bash历史,保存panel布局和vim状态。
set -g @resurrect-save-bash-history 'on'
set -g @resurrect-capture-pane-contents 'on'
set -g @resurrect-strategy-vim 'session'
2. 使用方法
Ctrl+b Ctrl+s 保存
Ctrl+b Ctrl+r 恢复
5.tmux new conf
当环境存在多个tmux session,为了不对原有的tmux做出破坏行为,所以新建一个配置 ~/.tmux/hcl/tmux.conf
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.back && \
curl -o /etc/yum.repos.d/CentOS-Base.repo https://repo.huaweicloud.com/repository/conf/CentOS-7-reg.repo && \
yum makecache && \
yum -y install epel-release && \
yum -y install libtermcap-devel ncurses-devel libevent-devel readline-devel unzip && \
yum -y install gcc automake byacc&& \
unzip -q tmux.zip && \
cd tmux/ && ./autogen.sh &&\
./configure --prefix=/usr/local/tmux3 && \
ln -sf /usr/local/tmux3/bin/tmux /usr/local/bin/tmux && \
make && make install && \
mkdir -p ~/.tmux/hcl/ && \
mkdir -p ~/.tmux/hcl/plugins && \
cd ../ && mv tpm tmux-continuum tmux-resurrect ~/.tmux/hcl/plugins/ && \
cat <<EOF > ~/.tmux/hcl/tmux.conf
set-option -g mouse on
set-environment -g TMUX_PLUGIN_MANAGER_PATH '~/.tmux/hcl/plugins'
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-resurrect'
set -g @plugin 'tmux-plugins/tmux-continuum'
set -g @resurrect-strategy-vim 'session'
set -g @resurrect-capture-pane-contents 'on'
set -g @resurrect-save-bash-history 'on'
set -g @continuum-restore 'on'
set -g @continuum-save-interval '15'
set -g status-right 'Continuum status: #{continuum_status}'
run '~/.tmux/hcl/plugins/tpm/tpm'
run-shell '~/.tmux/hcl/plugins/tmux-resurrect/resurrect.tmux'
run-shell '~/.tmux/hcl/plugins/tmux-continuum/continuum.tmux'
EOF
运行方式:
tmux3 -f ~/.tmux/hcl/tmux.conf -L hcl new -s xxxx
问题
改变配置文件 ~/.tmux.conf后,重启tmux,发现无效。
原来tmux有个服务进程,客户进程重启时不会解析配置。
可以:
tmux kill-server
或者:
tmux source-file ~/.tmux.conf
或者在tmux中:
Ctrl+b :source-file ~/.tmux.conf
安装 trzsz
centos
echo '[trzsz]
name=Trzsz Repo
baseurl=https://yum.fury.io/trzsz/
enabled=1
gpgcheck=0' | sudo tee /etc/yum.repos.d/trzsz.repo
sudo yum install trzsz -y
ubuntu
sudo apt update && sudo apt install software-properties-common
sudo add-apt-repository ppa:trzsz/ppa && sudo apt update
sudo apt install trzsz
Comments NOTHING