-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.tmux.conf
133 lines (104 loc) · 3.77 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
# Unbind default prefix ctrl + b
unbind C-b
# Set prefix to ctrl + a
set -g prefix C-a
setw -g mode-keys vi
# Bind copy mode
unbind [
bind Escape copy-mode
unbind p
bind p paste-buffer
#bind -t vi-copy 'v' begin-selection
#bind -t vi-copy y copy-pipe "xclip -sel clip -i"
# Press ctrl + a 2 times to send it to current program (vim increment for ex.)
bind C-a send-prefix
# Set list window to ctrl + a + "
unbind '"'
unbind w
bind '"' choose-window
# Removing default command delay
set -sg escape-time 1
# Set windows index start at 1
set -g base-index 1
# Set panes index start at 1
setw -g pane-base-index 1
bind | split-window -h
bind - split-window -v
# alt + arrow to resize pane
bind -n M-Left resize-pane -L 5
bind -n M-Right resize-pane -R 5
bind -n M-Up resize-pane -U 5
bind -n M-Down resize-pane -D 5
# Send mouse event to tmux
#setw -g mode-mouse on
#set -g mouse-select-pane on
#set -g mouse-resize-pane on
#set -g mouse-select-window on
# Show activity in other tabs / windows
setw -g monitor-activity on
set -g visual-activity on
# Refresh tmux conf
bind r source-file ~/.tmux.conf \; display "Reloaded !"
set -g default-terminal "screen-256color"
set -ga terminal-overrides ",xterm-256color:Tc"
####
## Tmux Colors
####
# panes
set -g pane-border-style fg=black
set -g pane-active-border-style fg=brightred
## Status bar design
# status line
set -g status-justify left
set -g status-bg default
set -g status-fg colour12
set -g status-interval 2
# messaging
set -g message-style fg=black,bg=yellow
set -g message-command-style fg=blue,bg=black
#window mode
setw -g mode-style fg=colour0,bg=colour6
# window status
setw -g window-status-format " #F#I:#W#F "
setw -g window-status-current-format " #F#I:#W#F "
setw -g window-status-format "#[fg=magenta]#[bg=black] #I #[bg=cyan]#[fg=colour8] #W "
setw -g window-status-current-format "#[bg=brightmagenta]#[fg=colour8] #I #[fg=colour8]#[bg=colour14] #W "
setw -g window-status-current-style fg=colour11,bg=colour0,dim
setw -g window-status-style bg=green,fg=black,reverse
# loud or quiet?
set-option -g visual-activity off
set-option -g visual-bell off
set-option -g visual-silence off
set-window-option -g monitor-activity off
set-option -g bell-action none
# The modes
setw -g clock-mode-colour colour135
setw -g mode-style fg=colour110,bg=colour238,bold
# The panes
set -g pane-border-style bg=colour235,fg=colour238
set -g pane-active-border-style bg=colour236,fg=colour82
# The statusbar
set -g status-position bottom
set -g status-style bg=colour234,fg=colour137,dim
set -g status-left "#[fg=colour232,bg=colour144] #S "
set -g status-right '#[fg=colour233,bg=colour241,bold] %d/%m #[fg=colour233,bg=colour245,bold] %H:%M:%S '
set -g status-right-length 50
setw -g window-status-current-style fg=colour82,bg=colour238,bold
setw -g window-status-current-format ' #I#[fg=colour250]:#[fg=colour255]#W#[fg=colour82]#F '
setw -g window-status-style fg=colour138,bg=colour235,none
setw -g window-status-format ' #I#[fg=colour237]:#[fg=colour250]#W#[fg=colour244]#F '
setw -g window-status-bell-style fg=colour255,bg=colour1,bold
# The messages
set -g message-style fg=colour232,bg=colour166,bold
# vim-tmux-navigator
# Smart pane switching with awareness of Vim splits.
# See: https://github.com/christoomey/vim-tmux-navigator
is_vim="ps -o state= -o comm= -t '#{pane_tty}' \
| grep -iqE '^[^TXZ ]+ +(\\S+\\/)?g?(view|n?vim?x?)(diff)?$'"
bind-key -n C-h if-shell "$is_vim" "send-keys C-h" "select-pane -L"
bind-key -n C-j if-shell "$is_vim" "send-keys C-j" "select-pane -D"
bind-key -n C-k if-shell "$is_vim" "send-keys C-k" "select-pane -U"
bind-key -n C-l if-shell "$is_vim" "send-keys C-l" "select-pane -R"
bind-key -n C-\\ if-shell "$is_vim" "send-keys C-\\" "select-pane -l"
# As vim-tmux-navigator override clear shortcut (ctrl + l)
bind C-l send-keys 'C-l'