-
Notifications
You must be signed in to change notification settings - Fork 0
/
dot.tmux.conf
135 lines (108 loc) · 3.97 KB
/
dot.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
# prefixキーをC-eに変更する
set -g prefix C-e
# C-bのキーバインドを解除する
unbind C-b
# キーストロークのディレイを減らす
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!"
# C-a*2でtmux内のプログラムにC-aを送る
bind C-a send-prefix
# | でペインを縦に分割する
bind | split-window -h
# - でペインを横に分割する
bind - split-window -v
# Vimのキーバインドでペインを移動する
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
# bind -r C-h select-window -t :-
# bind -r C-l select-window -t :+
# buffer history
set-option -g history-limit 10000
# Vimのキーバインドでペインをリサイズする
# "-r" は連打可能
bind -r H resize-pane -L 5
bind -r J resize-pane -D 5
bind -r K resize-pane -U 5
bind -r L resize-pane -R 5
# ペインの移動2
# Shift + 上下左右でペインを移動できるようにする。
bind -n S-left select-pane -L
bind -n S-down select-pane -D
bind -n S-up select-pane -U
bind -n S-right select-pane -R
# ペインの移動(ローテート)
bind -r -n C-l select-pane -t :.+
# 256色端末を使用する
set -g default-terminal "screen-256color"
# ステータスバーの色を設定する
set -g status-fg white
set -g status-bg black
# ウィンドウリストの色を設定する
setw -g window-status-fg cyan
setw -g window-status-bg default
setw -g window-status-attr dim
# アクティブなウィンドウを目立たせる
setw -g window-status-current-fg white
setw -g window-status-current-bg red
setw -g window-status-current-attr bright
# ペインボーダーの色を設定する
set -g pane-border-fg green
set -g pane-border-bg black
# アクティブなペインを目立たせる
set -g pane-active-border-fg white
set -g pane-active-border-bg yellow
# コマンドラインの色を設定する
set -g message-fg white
set -g message-bg black
set -g message-attr bright
# ステータスバーを設定する
## 左パネルを設定する
set -g status-left-length 40
set -g status-left "#[fg=green]Session: #S "
## 右パネルを設定する(時計)
set -g status-right "#[fg=cyan][%Y-%m-%d(%a) %H:%M]"
## リフレッシュの間隔を設定する(デフォルト 15秒)
set -g status-interval 60
# ## ウィンドウリストの位置を中心寄せにする
# set -g status-justify centre
# ## ヴィジュアルノーティフィケーションを有効にする
# setw -g monitor-activity on
# set -g visual-activity on
## ステータスバーを上部に表示する
set -g status-position top
# windowをrenameしない(current dirで更新しない)
set-option -g allow-rename off
# windowの詳細表示方法
set-window-option -g window-status-format " #I: #W "
# set-window-option -g window-status-current-format "#[fg=colour255,bg=colour27,bold] #I: #W "
# コピーモードを設定する
## viのキーバインドを使用する
setw -g mode-keys vi
# ## コピーモードの操作をvi風に設定する
bind-key -T copy-mode-vi v send -X begin-selection
bind p paste-buffer
# set default shell
set-option -g default-shell /bin/zsh
#
## クリップボード共有を有効にする
# for mac
if-shell "uname | grep -q Darwin" \
'set-option -g default-command "reattach-to-user-namespace -l zsh"'
if-shell "uname | grep -q Darwin" \
'bind-key -T copy-mode-vi y send -X copy-pipe-and-cancel "reattach-to-user-namespace pbcopy"'
# for Linux
# tmuxのbufferとxのclipboardを連携させる
if-shell 'type xsel' \
"bind-key -T copy-mode-vi y send-keys -X copy-pipe-and-cancel 'xsel -ib'"
if-shell 'type xsel' \
"bind-key -T copy-mode-vi Y send-keys -X copy-pipe 'xsel -ib'"
if-shell 'type xsel' \
"bind ] run-shell \
'xsel -ob | xargs -0 -I{} tmux set-buffer -- {} && tmux paste-buffer'"