-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.tmux.conf
155 lines (100 loc) · 5.99 KB
/
.tmux.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
# --------------------------------------------------- Tmux Config -----------------------------------------------------------
# --------------------------------------------------- prefix -----------------------------------------------------------
# 修改指令前缀
set -g prefix C-f #
unbind C-f # C-b 即 Ctrl+b 键,unbind 意味着解除绑定
bind C-f send-prefix # 绑定 Ctrl+f 为新的指令前缀
# 从tmux v1.6版起,支持设置第二个指令前缀
# set-option -g prefix2 ` # 设置一个不常用的`键作为指令前缀,按键更快些
# 添加载在配置文件指令为: 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}'
# unbind '"'
# bind - splitw -v -c '#{pane_current_path}' # 垂直方向新增面板,默认进入当前目录
# unbind %
# bind = splitw -h -c '#{pane_current_path}' # 水平方向新增面板,默认进入当前目录
# --------------------------------------------------- 开启鼠标支持 -----------------------------------------------------------
# v2.1及以上的版本
set-option -g mouse on
# --------------------------------------------------- vim 风格 -----------------------------------------------------------
# 绑定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为→
# 面板调整大小
# 绑定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个单元格
# 复制模式更改为 vi 风格
# 进入复制模式 快捷键:prefix + [
setw -g mode-keys vi # 开启vi风格后,支持vi的C-d、C-u、hjkl等快捷键
# --------------------------------------------------- 复制粘贴 -----------------------------------------------------------
# 复制模式向 vi 靠拢
#旧版本:
#bind -t vi-copy v begin-selection # 绑定v键为开始选择文本
#bind -t vi-copy y copy-selection # 绑定y键为复制选中文本
# 新版本:
bind -T copy-mode-vi v send -X begin-selection # 开始复制
bind -T copy-mode-vi y send -X copy-selection # 复制剪切板
bind p pasteb # 绑定p键为粘贴文本(p键默认用于进入上一个窗口,不建议覆盖)
# --------------------------------------------------- 其他 -----------------------------------------------------------
#设置窗口面板起始序号
set -g base-index 1 # 设置窗口的起始下标为1
set -g pane-base-index 1 # 设置面板的起始下标为1
set -s focus-events on
set-window-option -g automatic-rename on
set-window-option -g monitor-activity on
# --------------------------------------------------- 状态栏 -----------------------------------------------------------
set -wg window-status-format " #I #W " # 状态栏窗口名称格式
set -wg window-status-current-format " #I:#W#F " # 状态栏当前窗口名称格式(#I:序号,#w:窗口名称,#F:间隔符)
set -wg window-status-separator "" # 状态栏窗口名称之间的间隔
set -g message-style "bg=#202529, fg=#91A8BA" # 指定消息通知的前景、后景色
# 自定义状态栏
set -g status-interval 1 # 状态栏刷新时间
set -g status-justify left # 状态栏列表左对齐
setw -g monitor-activity on # 非当前窗口有内容更新时在状态栏通知
# --------------------------------------------------- linux -----------------------------------------------------------
# set -g status-left "Zorn #W" # 状态栏左侧内容
# set -g status-fg yellow # 设置状态栏前景黄色
# set -g status-style "bg=black, fg=yellow" # 状态栏前景背景色
# set -g status-right 'zorn@machine #{continuum_status}' # 状态栏右侧内容
# set -g status-left-length 300 # 状态栏左边长度300
# set -g status-right-length 500 # 状态栏左边长度500
# set -wg window-status-current-style "bg=black" # 状态栏当前窗口名称的样式
# set -wg window-status-current-style "bg=red" # 状态栏当前窗口名称的样式
# set -wg window-status-last-style "fg=red" # 状态栏最后一个窗口名称的样式
set -g status-left "🐶 #W" # 状态栏左侧内容
# --------------------------------------------------- mac -----------------------------------------------------------
# rainbar
# set-option -g status-utf8 on
set -g status-right '#(rainbarf)'
# Gnome Terminal
# set -g status-right '#(rainbarf --rgb)'
# Status bar
# powerline
set -g status-bg black
set-option -g status on
set-option -g status-interval 1
set-option -g status-justify "centre"
set-option -g status-left-length 60
set-option -g status-right-length 90
set-option -g status-left "#(~/.config/tmux/tmux-powerline/powerline.sh left)"
set-window-option -g window-status-current-format '#[fg=Magenta,bold] #I #W:#F'
# --------------------------------------------------- fzf_panes ----------------------------------------------------
set-hook -g pane-focus-in "run -b 'bash ~/.config/tmux/fzf_panes.tmux update_mru_pane_ids'"
bind-key -n M-n run -b 'bash ~/.config/tmux/fzf_panes.tmux new_window'
# --------------------------------------------------- one colors ---------------------------------------------------
# Add truecolor support
set-option -ga terminal-overrides ",xterm-256color:Tc"
# Default terminal is 256 colors
# set -g default-terminal "screen-256color"
# --------------------------------------------------- End -----------------------------------------------------------