-
Notifications
You must be signed in to change notification settings - Fork 2
/
tmux.conf
132 lines (117 loc) · 5.63 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
# workaround for pane not found error
set-option -g base-index 1
set-window-option -g pane-base-index 1
# copy paste using base clipboard
#set-option -g default-command "reattach-to-user-namespace -l $SHELL"
#bind-key -T copy-mode-vi v send -X begin-selection
#bind-key -T copy-mode-vi y send-keys -X copy-pipe-and-cancel "pbcopy"
#bind-key -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "pbcopy"
#bind-key -T copy-mode-vi Enter send-keys -X copy-pipe-and-cancel "pbcopy"
# look good
#set-option -g default-terminal "screen-256color-bce"
set-option -g default-terminal ${TERM}
set-option -g default-shell ${SHELL}
# https://www.reddit.com/r/neovim/comments/firuzb/anyone_know_how_to_fix_colored_diagnostics_not/
# set-option -sa terminal-overrides ",${TERM}:RGB"
# Undercurl
set -as terminal-overrides ',*:Smulx=\E[4::%p1%dm' # undercurl support
set -as terminal-overrides ',*:Setulc=\E[58::2::%p1%{65536}%/%d::%p1%{256}%/%{255}%&%d::%p1%{255}%&%d%;m' # underscore colours - needs tmux-3.0
# act like GNU screen
# unbind C-b
# set-option -g prefix C-a
# a mouse
set-option -g mouse on
# add clipboard support
set-option -g set-clipboard external
bind -T root MouseUp2Pane paste
run-shell $HOME/.tmux.conf.sh
# act like vim
set-window-option -g mode-keys vi
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
bind-key -r C-h select-window -t :-
bind-key -r C-l select-window -t :+
unbind [
bind ` copy-mode
unbind p
bind p paste-buffer
#bind -t vi-copy v begin-selection
#bind -t vi-copy y copy-selection
# after copying to a tmux buffer, hit y again to copy to clipboard (mac)
bind y run "tmux save-buffer - | reattach-to-user-namespace pbcopy"
# decrease command delay (increases vim responsiveness)
set-option -sg escape-time 1
# status bar
#set-option -g status-justify "left"
#set-option -g status-left-length "100"
#set-option -g status "on"
#set-option -g pane-active-border-style fg="colour36"
#set-option -g status-right-length "150"
#set-option -g status-right-style "none"
#set-option -g message-style bg="colour29",fg="colour231"
#set-option -g message-command-style fg="colour231",bg="colour29"
#set-option -g status-style bg="colour23","none"
#set-option -g pane-border-style fg="colour29"
#set-option -g status-left-style "none"
#set-window-option -g window-status-activity-style bg="colour23","none",fg="colour36"
#set-window-option -g window-status-separator ""
#set-window-option -g window-status-style fg="colour231","none",bg="colour23"
#set-option -g status-left "#[fg=colour231,bg=colour36] #S #[fg=colour36,bg=colour23,nobold,nounderscore,noitalics]"
#set-option -g status-right "#[fg=colour29,bg=colour23,nobold,nounderscore,noitalics] #[fg=colour231,bg=colour29] %Y-%m-%d < %H:%M #[fg=colour36,bg=colour29,nobold,nounderscore,noitalics]#[fg=colour231,bg=colour36] #h "
#set-window-option -g window-status-format "#[fg=colour231,bg=colour23] #I >#[fg=colour231,bg=colour23] #W "
#set-window-option -g window-status-current-format "#[fg=colour23,bg=colour29,nobold,nounderscore,noitalics]#[fg=colour231,bg=colour29] #I >#[fg=colour231,bg=colour29] #W #[fg=colour29,bg=colour23,nobold,nounderscore,noitalics]"
# tmux plugin manager
# List of plugins
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
set -g @plugin 'tmux-plugins/tmux-resurrect'
set -g @plugin 'tmux-plugins/tmux-continuum'
set -g @plugin 'jimeh/tmux-themepack'
set -g @plugin 'tmux-plugins/tmux-battery'
# theme
set -g @themepack 'basic'
set -goq @theme-status-justify "left"
set -goq @theme-status-left-bg default
set -goq @theme-status-right-bg default
set -goq @theme-message-bg color234
set -goq @theme-window-status-activity-bg color234
set -goq @theme-status-bg color234
set -goq @theme-status-fg cyan
set -goq @theme-window-status-current-bg black
set -goq @theme-window-status-current-fg white
set -goq @themepack-status-left-area-middle-format "#(whoami)@#H"
set -goq @themepack-status-right-area-left-format "%H:%M:%S"
set -goq @themepack-status-right-area-middle-format "%d-%b-%y"
set -goq @themepack-status-right-area-right-format "#{battery_color_foreground}#{battery_icon}#{battery_percentage}#{battery_remain}"
set -g @batt_icon_charge_tier8 ' '
set -g @batt_icon_charge_tier7 ' '
set -g @batt_icon_charge_tier6 ' '
set -g @batt_icon_charge_tier5 ' '
set -g @batt_icon_charge_tier4 ' '
set -g @batt_icon_charge_tier3 ' '
set -g @batt_icon_charge_tier2 ' '
set -g @batt_icon_charge_tier1 ' '
#set -g @batt_icon_status_discharging " "
set -g @batt_icon_status_attached " "
set -g @batt_icon_status_charging " "
set -g @batt_remain_short "true"
# Other examples:
# set -g @plugin 'github_username/plugin_name'
# set -g @plugin 'git@github.com/user/plugin'
# set -g @plugin 'git@bitbucket.com/user/plugin'
# Install tmux plugin manager if not present
# This is primarily here to handle dotfile cloning
if "test ! -d ~/.tmux/plugins/tpm" \
"run 'git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm && ~/.tmux/plugins/tpm/bin/install_plugins'"
# Resurrect settings
set -g @resurrect-capture-pane-contents 'on'
set -g @resurrect-strategy-nvim 'session'
set -g @resurrect-strategy-vim 'session'
set -g @resurrect-processes 'vim nvim man less more tail top htop irssi mutt tig git ssh ipython'
set -g @continuum-boot 'off'
#set -g @continuum-boot-options 'kitty,fullscreen'
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
run '~/.tmux/plugins/tpm/tpm'
set -gF status-right-length 250