-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.tmux.conf
204 lines (152 loc) · 6.94 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
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
# 達人に学ぶ.tmux.confの基本設定
# http://qiita.com/succi0303/items/cb396704493476373edf
# tmuxの新しいプレフィックスキーとして<C-Space>をバインドする
# http://postd.cc/how-to-boost-your-vim-productivity/
unbind C-b
set -g prefix C-Space
bind Space send-prefix
# prefixキーをC-bに変更する
# set -g prefix C-b
# C-bのキーバインドを解除する
# unbind C-b
# s キーバインドを解除
unbind s
# キーストロークのディレイを減らす
set -sg escape-time 1
# ウィンドウのインデックスを1から始める
set -g base-index 1
# ペインのインデックスを1から始める
setw -g pane-base-index 1
# 設定ファイルをリロードする
bind r source-file ~/.tmux.conf \; display "Reloaded!"
# 256色端末を使用する
set-option -g default-terminal "screen-256color" # 基本的にはscreen-256colorかtmux-256colorを設定
set-option -ga terminal-overrides ",xterm-256color:Tc" # tmuxを起動していない時のbash/zshでの$TERMの値を指定
# ステータスバーの色を設定する
# ウィンドウリストの色を設定する
# アクティブなウィンドウを目立たせる
# ペインボーダーの色を設定する
# アクティブなペインを目立たせる
# コマンドラインの色を設定する
# ターミナルマルチプレクサ tmux をカスタマイズする
# http://qiita.com/b4b4r07/items/01359e8a3066d1c37edc
# ステータスバーをトップに配置する
set-option -g status-position top
# 左右のステータスバーの長さを決定する
set-option -g status-left-length 90
set-option -g status-right-length 90
# #H => マシン名
# #P => ペイン番号
# 最左に表示
set-option -g status-left '#H:[#P]'
# Wi-Fi、バッテリー残量、現在時刻
# 最右に表示
set-option -g status-right '#(get_ssid) #(battery -c tmux) [%Y-%m-%d(%a) %H:%M]'
# ステータスバーを Utf-8 に対応
# set-option -g status-utf8 on
# ステータスバーを1秒毎に描画し直す
set-option -g status-interval 1
# センタライズ(主にウィンドウ番号など)
set-option -g status-justify centre
# Vi キーバインド
set-window-option -g mode-keys vi
# Prefix+c でコピーモード開始
# bind-key c copy-mode \; display "Copy mode!"
bind-key Space copy-mode \; display "Copy mode!"
bind-key -T copy-mode-vi v send-key -X begin-selection
# Prefix+Enter/y でコピー
bind-key -T copy-mode-vi Enter send-key -X copy-pipe-and-cancel "reattach-to-user-namespace pbcopy"
bind-key -T copy-mode-vi y send-key -X copy-pipe-and-cancel "reattach-to-user-namespace pbcopy"
# Prefix+p でペースト
# クリップボードにも保存されているので Cmd-v でもペースト可能
bind-key p paste-buffer
# vim <=> tmux 間でクリップボード利用を可能にする
set-option -g default-command "reattach-to-user-namespace -l $SHELL"
# Esc キーでコピーの反転を解除(コピーモードは抜けない)
bind-key -T copy-mode-vi Escape send-key -X clear-selection
# Ctrl-c キーでコピーの反転を解除し、コピーモードから抜ける
bind-key -T copy-mode-vi C-c send-key -X cancel
# コピーモード中(Prefix+v 後)C-v で矩形選択開始
bind-key -T copy-mode-vi C-v send-key -X rectangle-toggle
# 1行選択
bind-key -T copy-mode-vi V send-key -X select-line
# Vi モード中に Ctrl-a で行頭に(Emacs ライク)
bind-key -T copy-mode-vi C-a send-key -X start-of-line
# Vi モード中に Ctrl-e で行末に(Emacs ライク)
bind-key -T copy-mode-vi C-e send-key -X end-of-line
# 単語の最初の1文字に移動
bind-key -T copy-mode-vi w send-key -X next-word
# 単語の最後の1文字に移動
bind-key -T copy-mode-vi e send-key -X next-word-end
# w の逆の動き back
bind-key -T copy-mode-vi b send-key -X previous-word
# 画面上に映る最上行に移動
bind-key -T copy-mode-vi g send-key -X top-line
# 画面上に映る最下行に移動
bind-key -T copy-mode-vi G send-key -X bottom-line
# 前方検索
#bind-key -T copy-mode-vi / send-key -X search-forward
# 後方検索
#bind-key -T copy-mode-vi ? send-key -X search-backward
bind-key -T copy-mode-vi ? command-prompt -i -p "search up" "send -X search-backward-incremental \"%%%\""
bind-key -T copy-mode-vi / command-prompt -i -p "search down" "send -X search-forward-incremental \"%%%\""
# ページスクロール
bind-key -T copy-mode-vi C-n send-key -X page-up
bind-key -T copy-mode-vi C-f send-key -X page-down
# ページ送り
bind-key -T copy-mode-vi C-u send-key -X scroll-up
bind-key -T copy-mode-vi C-d send-key -X scroll-down
# ウィンドウとペインの番号を1から開始する(デフォルト0)
set-option -g base-index 1
set-window-option -g pane-base-index 1
# Prefix+- で横に、Prefix+\ で縦に分割(ペイン)する
bind-key \| split-window -h
bind-key - split-window -v
# Prefix + Ctrl-h/l でウィンドウ切り替え
# Prefix + Ctrl-h,h,h,h,...と連打できる
#bind-key -r C-h select-window -t :-
#bind-key -r C-l select-window -t :+
bind-key -r Left select-window -t :-
bind-key -r Right select-window -t :+
# Prefix+hjkl でペイン移動
bind-key j select-pane -L
bind-key l select-pane -D
bind-key h select-pane -U
bind-key k select-pane -R
# ペインサイズを上下左右(Prefix+JKHL)に変更
# Prefix+J,J,J,J,...と連打してリサイズ可能
bind-key -r J resize-pane -L 5
bind-key -r L resize-pane -D 5
bind-key -r H resize-pane -U 5
bind-key -r K resize-pane -R 5
# Ctrl-o でペインをローテーションしながら移動
# Prefix を用いないのでタイプが楽だが、Ctrl-o を使用してしまう
# 他のソフトウェアの設定に支障をきたさないように注意
bind-key -n C-o select-pane -t :.+
# 3.キーバインドの確認(コピーモード編)
# http://yonchu.hatenablog.com/entry/20120509/1336587523
bind / list-keys -T copy-mode-vi
# 新しいwindowはPrefix+vに変更
bind-key s new-window
# 後方スクロール行数(既定値は2000)
# http://d.hatena.ne.jp/kakurasan/20100311/p1
set-option -g history-limit 100000
#### COLOUR (Solarized 256)
# default statusbar colors
set-option -g status-style fg=white,bg=black,bg=colour235,fg=colour136,default
# default window title colors
set-window-option -g window-status-style fg=cyan,bg=default,dim,fg=colour244,bg=default
#set-window-option -g window-status-attr dim
# active window title colors
set-window-option -g window-status-current-style fg=white,bg=red,bright,fg=colour166,bg=default
#set-window-option -g window-status-current-attr bright
# pane border
set-option -g pane-border-style fg=green,bg=black,fg=colour235
set-option -g pane-active-border-style fg=white,bg=yellow,fg=colour240
# message text
set-option -g message-style fg=white,bg=black,bright,bg=colour235,fg=colour166
# 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