-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy path.tmux.conf
144 lines (130 loc) · 4.61 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
####################
### Key bindings ###
####################
unbind C-b
set -g prefix C-s
bind C-s send-prefix
bind c new-window -c '#{pane_current_path}'
bind % split-window -h -c '#{pane_current_path}'
bind '"' split-window -c '#{pane_current_path}'
bind , command-prompt -I '' 'rename-window %%'
bind . command-prompt -I '' 'rename-session %%'
bind Up select-pane -U
bind Down select-pane -D
bind Left select-pane -L
bind Right select-pane -R
bind M-Up resize-pane -U 5
bind M-Down resize-pane -D 5
bind M-Left resize-pane -L 5
bind M-Right resize-pane -R 5
bind r send -R \; send C-l \; clear-history
bind < swap-window -d -t -1
bind > swap-window -d -t +1
bind x kill-pane
bind Q kill-session
bind ` switch-client -l
bind s choose-tree -sZN -O time
bind Space last-window
bind o select-window -t ':$'
bind O display-popup -h 98% -w 100% overmind connect
bind e split-window -f -l 1 -c '#{pane_current_path}' \
'ZDOTDIR=~/.zsh/one_time_prompt/small_prompt zsh'
bind E split-window -h -c '#{pane_current_path}' \
'ZDOTDIR=~/.zsh/one_time_prompt/normal_prompt zsh'
bind C-s copy-mode
bind u copy-mode\; send -X halfpage-up
bind C-u copy-mode\; send -X halfpage-up
bind g copy-mode\; send -X history-top
bind h copy-mode\; send -X cursor-left
bind k copy-mode\; send -X cursor-down
bind J copy-mode\; \
send -X cursor-down\; \
send -X cursor-down\; \
send -X cursor-down\; \
send -X cursor-down\; \
send -X cursor-down\;
bind k copy-mode\; send -X cursor-up
bind K copy-mode\; \
send -X cursor-up\; \
send -X cursor-up\; \
send -X cursor-up\; \
send -X cursor-up\; \
send -X cursor-up\;
bind l copy-mode\; send -X cursor-right
bind v copy-mode\; send -X begin-selection
bind V copy-mode\; send -X select-line
# Note: tmux v3.0a (https://github.com/tmux/tmux/releases/download/3.0a/tmux-3.0a.tar.gz)
# counts all search occurences, whereas later versions don't.
# This might be fixed when v3.2 comes out.
bind / copy-mode\; command-prompt -p 'find:' "send -X search-forward '%%'"
bind ? copy-mode\; command-prompt -p 'find previous:' "send -X search-backward '%%'"
bind H copy-mode\; send -X top-line
bind M copy-mode\; send -X middle-line
bind L copy-mode\; send -X bottom-line
bind b copy-mode\; send -X previous-word
bind B copy-mode\; send -X previous-space
bind C-y copy-mode\; send -X scroll-up
bind '$' copy-mode\; send -X end-of-line
bind 0 copy-mode\; \
send -X start-of-line\; \
send -X jump-forward '$'\; \
send -X next-space
bind Y copy-mode\; run 'sleep 0.01' \; send -X copy-end-of-line
unbind -T copy-mode-vi MouseDragEnd1Pane
bind -T copy-mode-vi v send -X begin-selection
bind -T copy-mode-vi 'y' send -X copy-pipe-and-cancel 'pbcopy'
bind -T copy-mode-vi Y send -X copy-end-of-line
bind -T copy-mode-vi 'c' send -X copy-pipe 'pbcopy'
bind -T copy-mode-vi C \
send -X begin-selection\; \
send -X end-of-line\; \
send -X copy-selection\;
bind -T copy-mode-vi u send -X halfpage-up
bind -T copy-mode-vi M-u send -X halfpage-up
bind -T copy-mode-vi d send -X halfpage-down
bind -T copy-mode-vi M-d send -X halfpage-down
bind -T copy-mode-vi C-p send -X cancel
bind -T copy-mode-vi M-j send -X scroll-down
bind -T copy-mode-vi M-k send -X scroll-up
bind -T copy-mode-vi K \
send -X cursor-up\; \
send -X cursor-up\; \
send -X cursor-up\; \
send -X cursor-up\; \
send -X cursor-up\;
bind -T copy-mode-vi J \
send -X cursor-down\; \
send -X cursor-down\; \
send -X cursor-down\; \
send -X cursor-down\; \
send -X cursor-down\;
bind -T copy-mode-vi M-e send -X scroll-down
bind -T copy-mode-vi M-y send -X scroll-up
bind -T copy-mode-vi M-f send -X page-down
bind -T copy-mode-vi M-b send -X page-up
bind -T copy-mode-vi / command-prompt -p 'find:' "send -X search-forward '%%'"
bind -T copy-mode-vi ? command-prompt -p 'find previous:' "send -X search-backward '%%'"
#############################
### General configuration ###
#############################
set -g mouse on
set -g focus-events on
# set -g default-terminal 'tmux-256color-italic'
# set -ga terminal-overrides ',tmux-256color-italic:Tc'
set -g default-terminal 'xterm-256color-italic'
set -ga terminal-overrides ',xterm-256color-italic:Tc'
set -g base-index 1
setw -g pane-base-index 1
setw -g mode-keys vi
set -g history-limit 10000
set -g escape-time 0
set -g renumber-windows on
set -g status-position bottom
set -g status-bg 'colour236'
set -g status-fg 'colour244'
set -g window-status-format '#I #W '
set -g window-status-current-format '#[fg=colour2,bold]#I #W '
set -g status-left '#[fg=colour39,bold]#S '
set -g status-right '#(battery -t) |%d| %a %-H:%M'
set -g message-style bg='colour236',fg='colour255'
# set -g default-command "reattach-to-user-namespace -l zsh"