-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdot_tmux.conf
136 lines (111 loc) · 3.83 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
135
136
# C-a as a prefix; similar to GNU screen
set -g prefix C-a
unbind C-b
# Shorter command delay; apparently otherwise vim is unhappy
set -sg escape-time 1
# 1-based window indexes
set -g base-index 1
setw -g pane-base-index 1
# Reload .tmux.conf with prefix-r
bind r source-file ~/.tmux.conf \; display "Reloaded!"
# Pass C-a to applications
bind C-a last-window
bind a send-prefix
# prefix-| splits vertically
# prefix-- splits horizontally
bind | split-window -h
bind - split-window -v
# Moving among panes
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
# Resizing panes
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
# Move window
bind-key m command-prompt -p "move window to:" "swap-window -t '%%'"
# Mouse is sometimes useful
# setw -g mode-mouse on
# .. but not for these things
# set -g mouse-select-pane off
# set -g mouse-resize-pane off
# set -g mouse-select-window off
# 256 colors
set -g default-terminal "screen-256color"
# Colors
# tmux 2.9 made a mess of the style settings
# See an explanation here: https://github.com/tmux/tmux/issues/1689#issuecomment-487379273
# And Reddit discussion here: https://www.reddit.com/r/tmux/comments/bh4vvi/tmux_29_is_out/
# set -g status-style fg=white,bg=black
# setw -g window-status-style fg=cyan,bg=default,dim
# setw -g window-status-current-style fg=white,bg=colour235,bright
# set -g pane-border-style fg=green,bg=black
# set -g pane-active-border-style fg=white,bg=black
# set -g message-style fg=white,bg=black,bright
# 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 colour235
# 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 black
# set -g message-fg white
# set -g message-bg black
# set -g message-attr bright
# Status bar
# set status-right "%H:%M %e %h %Y"
# set -g status-interval 60
# set -g status-utf8 on
# Activity in other windows
setw -g monitor-activity on
# vi keys, especially for copy mode
setw -g mode-keys vi
# unbind p
# bind p paste-buffer
# bind -t vi-copy 'v' begin-selection
# bind -t vi-copy 'V' begin-selection
# bind -t vi-copy 'y' copy-selection
# Maximizing panes
unbind Up
unbind Down
bind Up resize-pane -Z
bind Down resize-pane -Z
# Joining panes
# bind-key s command-prompt -p "send pane to:" "join-pane -t '%%'"
# increase scrollback lines
set -g history-limit 50000
# OS X keyboard
# set -g default-command "reattach-to-user-namespace -l $SHELL"
# OS X copying
# bind C-c run "tmux save-buffer - | reattach-to-user-namespace pbcopy"
# bind C-v run "tmux set-buffer $(reattach-to-user-namespace pbpaste); tmux paste-buffer"
# Smart pane switching with awareness of vim splits
# <https://gist.github.com/mislav/5189704>
# bind -n C-k run-shell 'tmux-vim-select-pane -U'
# bind -n C-j run-shell 'tmux-vim-select-pane -D'
# bind -n C-h run-shell 'tmux-vim-select-pane -L'
# bind -n C-l run-shell 'tmux-vim-select-pane -R'
# bind -n "C-\\" run-shell 'tmux-vim-select-pane -l'
# Bring back clear screen under tmux prefix
bind C-l send-keys 'C-l'
# Load plugins via tmux plugin manager
set -g @plugin 'tmux-plugins/tpm'
# tmux-continuum must have tmux-resurrect installed
set -g @plugin 'tmux-plugins/tmux-resurrect'
set -g @plugin 'tmux-plugins/tmux-continuum'
set -g @plugin 'tmux-plugins/tmux-open'
set -g @plugin 'tmux-plugins/tmux-copycat'
set -g @plugin 'tmux-plugins/tmux-yank'
set -g @plugin 'jimeh/tmux-themepack'
set -g @themepack 'powerline/default/blue'
set -g @continuum-restore 'on'
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
run '~/.tmux/plugins/tpm/tpm'