my dotfiles
1# ===================================================
2#
3# File: .tmux.conf
4# Author: Akilesh Kannan
5# Contact: aklsh@tuta.io
6# Web: https://aklsh.now.sh
7#
8# ===================================================
9
10# Plugins
11set -g @plugin 'tmux-plugins/tpm'
12set -g @plugin 'tmux-plugins/tmux-resurrect'
13set -g @plugin 'tmux-plugins/tmux-continuum'
14
15# tmux-continuum options
16set -g @continuum-restore 'on'
17
18# Improve colors
19set -g default-terminal 'screen-256color'
20set-option -sa terminal-overrides ',xterm-256color*:RGB'
21
22# Set scrollback buffer to 10000
23set -g history-limit 10000
24
25# Nvim related
26setw -g xterm-keys on
27set-option -sg escape-time 10
28set-option -sg repeat-time 600
29set-option -g focus-events on
30set -g default-terminal "${TERM}"
31set -as terminal-overrides ',*:Smulx=\E[4::%p1%dm' # undercurl support
32set -as terminal-overrides ',*:Setulc=\E[58::2::%p1%{65536}%/%d::%p1%{256}%/%{255}%&%d::%p1%{255}%&%d%;m' # underscore colours - needs tmux-3.0
33
34bind-key -T copy-mode-vi v send-keys -X begin-selection
35bind-key -T copy-mode-vi y send-keys -X copy-pipe "xclip -i -sel p -f | xclip -i -sel c "
36set -g mouse on
37
38# Sane prefix key with Caps Lock as Ctrl
39unbind C-b
40set-option -g prefix C-a
41bind-key C-a send-prefix
42
43# Window/Pane management (courtesy: rsnk96/Ubuntu-Setup-Scripts)
44bind - split-window -v
45bind | split-window -h
46set -g base-index 1
47setw -g pane-base-index 1
48set -g renumber-windows on
49set-option -g allow-rename off
50bind > swap-pane -D
51bind < swap-pane -U
52
53# Misc (courtesy: rsnk96/Ubuntu-Setup-Scripts)
54bind e new-window -n "~/.tmux.conf" "sh -c '\${EDITOR:-nvim} ~/.tmux.conf && tmux source ~/.tmux.conf && tmux display \"~/.tmux.conf sourced\"'"
55bind r source-file ~/.tmux.conf \; display '~/.tmux.conf sourced'
56
57# Customize the status line
58set -g status-position bottom
59set -g status-justify left
60set -g status-style 'bg=#262626 fg=#ededed dim'
61set -g status-left ''
62set -g status-right ' #S '
63
64setw -g window-status-current-style 'fg=#ededed bg=#15519b bold'
65setw -g window-status-current-format ' #[fg=#ededed]#W '
66
67setw -g window-status-style 'fg=#ededed bg=#262626'
68setw -g window-status-format ' #[fg=#ededed]#W '
69
70setw -g window-status-bell-style 'fg=colour255 bg=colour1 bold'
71
72run '~/.tmux/plugins/tpm/tpm'