-
Notifications
You must be signed in to change notification settings - Fork 0
/
.tmux.conf
153 lines (125 loc) · 5.29 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
# prefix
unbind-key C-b
set-option -g prefix C-q
bind-key C-q send-prefix
# use UTF8
set-option -g status-utf8 on
set-window-option -g utf8 on
# terminal
set-option -g default-terminal "xterm-256color"
set-option -g terminal-overrides "xterm*:smcup@:rmcup@"
# set window and pane index to 1 (0 by default)
set-option -g base-index 1
set-window-option -g pane-base-index 1
# reload ~/.tmux.conf using PREFIX r
bind-key r source-file ~/.tmux.conf \; display "Reloaded!"
# use PREFIX | to split window horizontally and PREFIX - to split vertically
unbind-key %
unbind-key '"'
bind-key - split-window -v
bind-key | split-window -h
# map Vi movement keys as pane movement keys
bind-key h select-pane -L
bind-key j select-pane -D
bind-key k select-pane -U
bind-key l select-pane -R
# and use C-h and C-l to cycle thru panes
bind-key -r C-h select-window -t :-
bind-key -r C-l select-window -t :+
# resize panes using PREFIX H, J, K, L
bind-key H resize-pane -L 5
bind-key J resize-pane -D 5
bind-key K resize-pane -U 5
bind-key L resize-pane -R 5
# visual notification of activity in other windows
set-option -g visual-activity off
set-window-option -g monitor-activity on
# Copy-paste
# http://d.hatena.ne.jp/tmatsuu/20111220/1324399472
#if-shell "type reattach-to-user-namespace &>/dev/null" \
# "set-option -g default-command 'reattach-to-user-namespace -l $SHELL'" \
# "set-option -g default-command '$SHELL'"
set-option -g default-command \
"type reattach-to-user-namespace &>/dev/null && reattach-to-user-namespace -l $SHELL || $SHELL"
bind-key C-c run-shell "type reattach-to-user-namespace &>/dev/null && ( \
tmux save-buffer - | reattach-to-user-namespace pbcopy \
)"
bind-key C-v run-shell "type reattach-to-user-namespace &>/dev/null && ( \
reattach-to-user-namespace pbpaste | tmux load-buffer - && tmux paste-buffer \
)"
# マウス関連(デフォルトはOFFにしておいて、prefix+mでマウスモードを切替える)http://bit.ly/ZzG7iN
# http://qiita.com/kawaz/items/7b15e18ca8e072c1dc57
set-option -gw mode-mouse off
bind-key m \
if-shell "tmux show-window-options -g mode-mouse | grep off" \
"set-option -gq mouse-utf8 on ; \
set-option -gq mouse-resize-pane on ; \
set-option -gq mouse-select-pane on ; \
set-option -gq mouse-select-window on ; \
set-window-option -gq mode-mouse on ; \
refresh-client -S" \
"set-option -gq mouse-utf8 off ; \
set-option -gq mouse-resize-pane off ; \
set-option -gq mouse-select-pane off ; \
set-option -gq mouse-select-window off ; \
set-window-option -gq mode-mouse off ; \
refresh-client -S"
set-option -g escape-time 0
set-option -g history-limit 10000
set-option -g status-interval 10
set-option -g visual-bell off
set-window-option -g automatic-rename off
set-window-option -g mode-keys vi
# tmux-colors-solarized {{{
# https://github.com/seebi/tmux-colors-solarized
# https://github.com/altercation/solarized/tree/master/tmux
# 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
# }}}
bind-key -r ^[ copy-mode
bind-key -r ^] paste-buffer
# status
set-option -g status-left ''
#set-option -ag status-left '#[fg=white][#S#[fg=white]]#[default]'
set-option -g status-right ''
set-option -ag status-right "#[fg=colour235]⮃"
set-option -ag status-right "#[fg=colour250] #(tmux show-window-options -g mode-mouse|sed 's/mode-//;s/ /:/') "
set-option -ag status-right '#[fg=colour244]⮂'
set-option -ag status-right '#[fg=colour250,bg=colour240] S#S ⮃ W#I ⮃ P#P '
set-option -ag status-right '#[fg=colour246,bg=colour240]⮂'
set-option -ag status-right '#[fg=colour238,bg=colour244] #h'
set-option -g window-status-format " #I ⮁ #W "
set-option -g window-status-current-format ""
set-option -ag window-status-current-format "#[fg=colour238,bg=colour117]⮀"
set-option -ag window-status-current-format "#[fg=colour240,bg=colour117,noreverse,bold] #I ⮁ #W "
set-option -ag window-status-current-format "#[fg=colour117,bg=colour235,bold]⮀#[default]"
#set-option -g window-status-format "#[fg=colour240,bg=colour232,nobold] #I:#W "
#set-option -g window-status-current-format "#[fg=black,bg=colour65,noreverse,nobold] #I:#W #[fg=colour240,bg=colour232,nobold]"
# resize panes like vim
# feel free to change the "1" to however many lines you want to resize by, only
# one at a time can be slow
#bind < resize-pane -L 1
#bind > resize-pane -R 1
#bind - resize-pane -D 1
#bind + resize-pane -U 1