tmux自定义配置

快捷键才是王道

Posted by Yean on May 16, 2019

tmux自定义配置

在已经有自己的tmux.conf配置文件的条件下,在终端输入

cp tmux.conf ~/.tumx.conf

便能自动将当前环境中的tmux配置成自己熟悉的快捷键了。

以下是我的自定义tumx.conf

set -g prefix C-b #
# let be vim
setw -g mode-keys vi # 开启vi风格后,支持vi的C-d、C-u、hjkl等快捷键
bind Escape copy-mode # 绑定esc键为进入复制模式
bind -T copy-mode-vi v send-keys -X begin-selection # 绑定v键为开始选择文本
bind -T copy-mode-vi y send-keys -X copy-selection-and-cancel # 绑定y键为复制选中文本

# for MAC
# buffer缓存复制到Mac系统粘贴板
bind C-c run "tmux save-buffer - | reattach-to-user-namespace pbcopy"
# Mac系统粘贴板内容复制到会话
bind C-v run "reattach-to-user-namespace pbpaste | tmux load-buffer - \; paste-buffer -d"

# for Linux need to install xclip
# buffer缓存复制到Linux系统粘贴板
# bind C-c run " tmux save-buffer - | xclip -i -sel clipboard"
# Linux系统粘贴板内容复制到会话
# bind C-v run " tmux set-buffer \"$(xclip -o -sel clipboard)\"; tmux paste-buffer"

# 绑定快捷键为r
bind r source-file ~/.tmux.conf \; display-message "Config reloaded.."

# 垂直方向新增面板,默认进入当前目录
unbind '"'
bind - splitw -v -c '#{pane_current_path}'
# 水平方向新增面板,默认进入当前目录
unbind %
bind | splitw -h -c '#{pane_current_path}'

set-option -g mouse on # 等于启动了鼠标的所有操作

# 绑定hjkl键为面板切换的上下左右键
bind -r k select-pane -U # 绑定k为↑
bind -r j select-pane -D # 绑定j为↓
bind -r h select-pane -L # 绑定h为←
bind -r l select-pane -R # 绑定l为→

bind -r e lastp # 选择最后一个面板
bind -r ^e last # 选择最后一个窗口

bind -r ^u swapp -U # 与前一个面板交换位置
bind -r ^d swapp -D # 与后一个面板交换位置

# 绑定Ctrl+hjkl键为面板上下左右调整边缘的快捷指令
bind -r ^k resizep -U 10 # 绑定Ctrl+k为往↑调整面板边缘10个单元格
bind -r ^j resizep -D 10 # 绑定Ctrl+j为往↓调整面板边缘10个单元格
bind -r ^h resizep -L 10 # 绑定Ctrl+h为往←调整面板边缘10个单元格
bind -r ^l resizep -R 10 # 绑定Ctrl+l为往→调整面板边缘10个单元格