-
Notifications
You must be signed in to change notification settings - Fork 4
/
.tmux.conf
151 lines (124 loc) · 4.28 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
#set-option -g utf8
#set-window-option -g utf8 on
set -g default-terminal "screen-256color"
set -g status-keys vi
setw -g aggressive-resize on
set-option -g set-titles on
set-option -g set-titles-string '#S:#I.#P #W #T' # window number,program name, active(or not)
#Change leader key
unbind C-b
set -g prefix C-Space
bind C-Space send-prefix
# 0 is too far from ` ;)
set -g base-index 1
# No delay for escape key press
set -sg escape-time 0
#set-option -g destroy-unattached on
set -g history-limit 100000
# Redraw the client (if interrupted by wall, etc)
bind R refresh-client
# if run as "tmux attach", create a session if one does not already exist
new-session -n $HOST
# Use vim keybindings in copy mode
setw -g mode-keys vi
# Setup 'v' to begin selection as in Vim
bind-key -T copy-mode-vi 'v' send -X begin-selection
# Update default binding of `Enter` to also use copy-pipe
#unbind -t vi-copy Enter
#bind-key -n -t vi-copy Enter copy-pipe "xclip -i -sel p -f | xclip -i -sel c "
# To copy:
#bind-key -n -t vi-copy y copy-pipe "xclip -i -sel p -f | xclip -i -sel c "
bind-key -T copy-mode-vi 'y' send -X copy-selection
# To paste:
#bind-key -n C-p run "pbpaste | tmux load-buffer - ; tmux paste-buffer"
bind-key -n C-p run "xclip -selection clipboard -o | tmux load-buffer - ; tmux paste-buffer"
#bind-key -n C-p run "echo $(pbpaste) | tmux load-buffer - ; tmux paste-buffer"
run-shell ~/.tmux/tmux-yank/yank.tmux
###########################################################################
# Mouse mode
#set -g mode-mouse on
#set -g mouse-resize-pane on
#set -g mouse-select-pane on
#set -g mouse-select-window on
#
## Toggle mouse on
#bind m \
# set -g mode-mouse on \;\
# set -g mouse-resize-pane on \;\
# set -g mouse-select-pane on \;\
# set -g mouse-select-window on \;\
# display 'Mouse: ON'
#
## Toggle mouse off
#bind M \
# set -g mode-mouse off \;\
# set -g mouse-resize-pane off \;\
# set -g mouse-select-pane off \;\
# set -g mouse-select-window off \;\
# display 'Mouse: OFF'
#
#set -g mouse-utf8 on
set -g mouse on
bind -n WheelUpPane select-pane -t= \; copy-mode -e \; send-keys -M
bind -n WheelDownPane select-pane -t= \; send-keys -M
##########################################################################
# Keybindings
# Shift arrow to switch windows
bind -n S-Left previous-window
bind -n S-Right next-window
bind-key _ split-window -h
bind-key - split-window -v
bind-key J resize-pane -D 5
bind-key K resize-pane -U 5
bind-key H resize-pane -L 5
bind-key L resize-pane -R 5
bind-key M-j resize-pane -D
bind-key M-k resize-pane -U
bind-key M-h resize-pane -L
bind-key M-l resize-pane -R
# Vim style pane selection
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
# Use Alt-vim keys without prefix key to switch panes
bind -n M-h select-pane -L
bind -n M-j select-pane -D
bind -n M-k select-pane -U
bind -n M-l select-pane -R
# Use Alt-arrow keys without prefix key to switch panes
bind -n M-Left select-pane -L
bind -n M-Right select-pane -R
bind -n M-Up select-pane -U
bind -n M-Down select-pane -D
########################################################################
# Scripts
#run-shell "powerline-daemon -q"
#source "/usr/share/tmux/powerline.conf"
set-option -g status-right-length 0
########################################################################
# Colors
#### COLOUR (Solarized 256)
# default statusbar colors
set-option -g status-bg colour235 #base02
set-option -g status-fg colour136 #yellow
set-option -g status-attr default
# default window title colors
set-window-option -g window-status-fg colour244 #base0
set-window-option -g window-status-bg default
#set-window-option -g window-status-attr dim
# active window title colors
set-window-option -g window-status-current-fg colour166 #orange
set-window-option -g window-status-current-bg default
#set-window-option -g window-status-current-attr bright
# pane border
set-option -g pane-border-fg colour235 #base02
set-option -g pane-active-border-fg colour240 #base01
# message text
set-option -g message-bg colour235 #base02
set-option -g message-fg colour166 #orange
# pane number display
set-option -g display-panes-active-colour colour33 #blue
set-option -g display-panes-colour colour166 #orange
# clock
set-window-option -g clock-mode-colour colour64 #green