-
Notifications
You must be signed in to change notification settings - Fork 0
/
.tmux.conf##template
92 lines (77 loc) · 3.24 KB
/
.tmux.conf##template
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
# vi: filetype=tmux
# https://github.com/gpakosz/.tmux
# Plugins
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-resurrect'
set -g @resurrect-processes 'ssh'
set -g @resurrect-strategy-vim 'session'
set -g @continuum-boot 'on'
set -g @continuum-restore 'on'
set -g @continuum-boot-options 'alacritty'
set -g @plugin 'tmux-plugins/tmux-continuum'
set -g @continuum-save-interval '30'
set -g @continuum-restore 'on'
set -g @continuum-boot 'on'
# set -g @plugin 'tmux-plugins/tmux-battery'
set -g @plugin 'egel/tmux-gruvbox'
set -g @tmux-gruvbox 'dark' # or 'light'
# Options
# Login shell yes or no? Pro: rvm requires it. Contra: It triggers duplicated PATH settings
# (even if I had excluded duplications via "[ -z $TMUX ] && ..."
# in bash_profile, tmux still prepended the system paths from /etc/profile
# to my already defined PATH.
set -g default-command "exec ${SHELL}"
# Terminal must be screen-256color (not xterm), otherwise serious performance-problems occur in tmux
#
# https://github.com/tmux/tmux/wiki/FAQ#how-do-i-use-a-256-colour-terminal
# https://github.com/tmux/tmux/issues/353
# http://unix.stackexchange.com/questions/1045/getting-256-colors-to-work-in-tmux
set -g default-terminal 'tmux-256color' # use 'tmux' instead of 'screen-*' to enable italics support per tmux FAQ
set-option -as terminal-overrides ",xterm-256color:RGB"
set -g status-keys vi
set -g visual-bell on
set -g history-limit 10000
set -g status-bg black
set -g status-fg white
set -g status-interval 5 # seconds
set -g status-left-length 30
# Fix delay during vim-escape.
# https://superuser.com/questions/252214
# https://superuser.com/questions/942677/consequences-of-escape-time-0-tmux-setting
set -sg escape-time 20
set -g status-left-length 40
set -g status-left '#[fg=green](#S) #(whoami)@#H#[default]'
set -g status-right '#[default]#(cat /tmp/last_price_xrpeur) #(cat /tmp/last_price_etheur) #{battery_icon}#{battery_percentage} %Y-%m-%d %H:%M #[fg=default,bold]Autosave: #{continuum_status}'
set -g status-right-length 60
set -g focus-events on
set -g renumber-windows on
set -g base-index 1
setw -g mode-keys vi # vi-like cursor movement in copy mode. https://awhan.wordpress.com/2010/06/20/copy-paste-in-tmux/
setw -g pane-base-index 1
setw -g aggressive-resize on
setw -g automatic-rename on
# Change prefix binding away from C-b (used in Vim scrolling) to C-a (which exists
# in Vim, too, but I don't use)
unbind-key C-b
set -g prefix C-a
bind-key C-a send-prefix
# Order session list alphabetically
bind s choose-tree -sZ -O name
# move around panes with hjkl, as one would in vim after pressing ctrl-w
bind h select-pane -L
bind l select-pane -R
bind k select-pane -U
bind j select-pane -D
bind -r H resize-pane -L 5
bind -r L resize-pane -R 5
bind -r K resize-pane -U 5
bind -r J resize-pane -D 5
bind C-x setw synchronize-panes
# Open panes in current directory
bind '"' split-window -v -c "#{pane_current_path}"
bind % split-window -h -c "#{pane_current_path}"
if-shell "[ -f ~/.config/tmux/tmux.conf.os ]" 'source ~/.config/tmux/tmux.conf.os'
if-shell "[ -f ~/.config/tmux/tmux.conf.host ]" 'source ~/.config/tmux/tmux.conf.host'
# Initialize TMUX plugin manager and run all available plugins
# (keep this line at the very bottom of tmux.conf)
run '~/.tmux/plugins/tpm/tpm'