-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.tmux.conf
141 lines (108 loc) · 2.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
###############################################################################
## Notes:
## ------
# ( ) - switch tmux session left/right
# { } - move pane left/right
# w - list windows/tabs
## ############################################################################
# Reload config file
#
bind-key R source-file ~/.tmux.conf
unbind-key C-b
set-option -g prefix C-a
set -sg escape-time 0
setw -g mode-keys vi
setw -g mode-mouse off
setw -g utf8 on
setw -g xterm-keys on
set-option -g mouse-select-pane off
set-option -g mouse-resize-pane off
set-option -g mouse-select-window off
set-option -g repeat-time 1000
set-option -g allow-rename off
# Settings
#
bind -n C-k clear-history
set -g history-limit 10000
set -g status-bg colour235
set -g status-fg yellow
set -g status-left '#S'
set -g status-left-fg cyan
set -g status-right-fg magenta
set -g status-right-length 80
set -g status-right '#[fg=green][#[fg=white]#T#[fg=green]][#[fg=blue]%m-%d #[fg=white]%H:%M#[default]#[fg=green]]'
#set -g base-index 1
set -g pane-active-border-bg blue
set -g pane-active-border-fg white
set -g set-titles on
set-window-option -g window-status-current-bg red
set-window-option -g window-status-current-fg yellow
# Send key-prefix
#
bind-key C-a send-prefix
# Set base window index
#
set-option -g base-index 0
setw -g pane-base-index 1
# Cycle to next pane
#
bind-key -n C-s select-pane -t :.+
# New window
#
bind-key C-c new-window
bind-key c new-window
# Refresh
#
bind-key r refresh-client
# Split windows like vi
#
bind s split-window -v
bind v split-window -h
bind V split-window -v\; split-window -h -t 1\; split-window -h -t 2
bind-key -r < resize-pane -L 1
bind-key -r > resize-pane -R 1
bind-key -r + resize-pane -U 1
bind-key -r - resize-pane -D 1
# Copy & paste like vim
#
bind Escape copy-mode
bind C-b copy-mode
bind-key x delete-buffer
unbind p
bind p paste-buffer
bind Space choose-buffer
bind-key -t vi-copy 'v' begin-selection
bind-key -t vi-copy 'V' rectangle-toggle
bind-key -t vi-copy 'y' copy-selection
# select last window
# bind-key C-a last-window
bind-key a last-window
# swap windows position
bind-key h swap-window -t -1
bind-key l swap-window -t +1
# max window size to code size
set-window-option force-width 181
# send input to all panes
bind-key e set synchronize-panes
# toggle maximize zoom current pane
bind-key Z resize-pane -Z
bind-key h select-layout even-horizontal -Z
###############################################################################
## global keyboard shared with other environments
##
## workspace
# change to previous/next workspace
# N/A, each 'window' is a tab control
# change to a specific workspace
# N/A
# new tab window
bind-key C-n new-window
bind-key n new-window
# cycle through tabs in the current window
bind-key -n C-l next
bind-key -n C-h prev
# switch to a tab number
# use default: 1, 2, 3, ...
# Navigate panes using vi style: ctrl+jkhl
bind-key -n C-j select-pane -t :.+
bind-key -n C-k select-pane -t :.-