-
Notifications
You must be signed in to change notification settings - Fork 0
/
.tmux.conf
91 lines (70 loc) · 2.9 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
set-option -g history-limit 10000
# Split windows using - and | (and \ to avoid the shift)
bind \\ split-window -h -c "#{pane_current_path}"
bind | split-window -h -c "#{pane_current_path}"
bind - split-window -v -c "#{pane_current_path}"
setw -g mode-keys vi
bind-key -T copy-mode-vi v send -X begin-selection
bind-key -T copy-mode-vi C-v send-keys -X rectangle-toggle
bind-key -T copy-mode-vi y send -X copy-selection-and-cancel
bind-key -T copy-mode-vi r send -X rectangle-toggle
# Force a reload of the config file
unbind r
bind r source-file ~/.tmux.conf \; display-message "Config reloaded..."
# switch panes using keybindings similar to vim
unbind k
unbind h
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
# resize using prefix -> CTRL+
bind -r C-k resize-pane -U 10
bind -r C-j resize-pane -D 10
bind -r C-h resize-pane -L 10
bind -r C-l resize-pane -R 10
bind C-o display-popup -E "tms"
bind C-s display-popup -E "tms switch"
bind C-w display-popup -E "tms windows"
unbind i
bind-key -T prefix i command-prompt -k -p key "list-keys -1N \"%%%\""
unbind /
bind-key -T prefix / copy-mode
bind F copy-mode \; \
send-keys -X search-forward "(^|^\.|[[:space:]]|[[:space:]]\.|[[:space:]]\.\.|^\.\.)[[:alnum:]~_-]*/[][[:alnum:]_.#$%&+=/@-]*"
bind H copy-mode \; \
send-keys -X search-forward "\b([0-9a-f]{7,40}|[[:alnum:]]{52}|[0-9a-f]{64})\b"
bind u copy-mode \; \
send-keys -X search-forward "(https?://|git@|git://|ssh://|ftp://|file:///)[[:alnum:]?=%/_.:,;~@!#$&()*+-]*"
# don't rename windows automatically
set-option -g allow-rename off
# No delay in esc key
set -s escape-time 100
set -g @suspend_key 'F12'
set-option -g focus-events on
set-option -g mouse on
set-option -a terminal-features "${TERM}:RGB"
set -g set-clipboard on
# Undercurl
set -g default-terminal "${TERM}"
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
# os52 allow to copy to clipbaord
# set -ag terminal-overrides "vte*:XT:Ms=\\E]52;c;%p2%s\\7,xterm*:XT:Ms=\\E]52;c;%p2%s\\7"
# set -g @catppuccin_window_status_icon_enable "yes"
# set -g @catppuccin_date_time_text "%H:%M:%S"
# set -g @catppuccin_status_modules_right "load cpu date_time session"
# set -g @catppuccin_flavour 'macchiato' # or frappe, macchiato, mocha
set -g @theme_variation 'moon'
set -g @theme_left_separator '█ '
set -g @theme_right_separator ' █'
set -g @theme_plugins 'datetime,playerctl'
# List of plugins
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'MunifTanjim/tmux-suspend'
set -g @plugin 'tmux-plugins/tmux-sessionist'
set -g @plugin 'jamesoff/tmux-loadavg'
set -g @plugin 'tmux-plugins/tmux-cpu'
set -g @plugin 'fabioluciano/tmux-tokyo-night'
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
run '~/.tmux/plugins/tpm/tpm'