-
Notifications
You must be signed in to change notification settings - Fork 0
/
.tmux.conf
121 lines (97 loc) · 3.46 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
#
# https://github.com/tmux/tmux/wiki
# use tmux kill-server to clear global variables when changing config
#
set -g prefix ^A
# just for debugging
set -g status-fg orange
set -g status-bg default
set -g status-style default
# avoiod vim mode switching delay
set -s escape-time 0
# number of lines to keep in the history
set -g history-limit 10000
# set time for which status line messages are displayed in ms
set -g display-time 2000
# set time for which pane selections are displayed in ms
set -g display-panes-time 2000
# update the status bar every interval seconds
set -g status-interval 15
# show message if monitoring a window
set -g visual-activity on
# asked for by neovim :checkhealth
set -g focus-events on
# keybinding mode for tmux command prompt
set -g status-keys emacs
# TERM stuff
set -g default-terminal "${TERM}"
set-option -as terminal-overrides ",xterm*:Tc"
set-option -as terminal-overrides ",alacritt*:Tc"
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
# keys
# Easier and faster switching between next/prev window
bind C-p previous-window
bind C-n next-window
# join-pane shortcut
bind-key @ command-prompt -p "create pane from:" "join-pane -hs ':%%'"
# quickly get to last pane
unbind ^A
bind ^A last-pane
#to get readline shortcut
bind a send-prefix
# this messes with system selection
#set -g mouse on
# remove the repeat-ability from the arrow keys
unbind Left
bind-key Left select-pane -L
unbind Down
bind-key Down select-pane -D
unbind Up
bind-key Up select-pane -U
unbind Right
bind-key Right select-pane -R
# to be a little vim-like getting around panes ("windows" in vim)
bind-key h select-pane -L
bind-key j select-pane -D
bind-key k select-pane -U
bind-key l select-pane -R
bind-key -r J swap-pane -D
bind-key -r K swap-pane -U
bind-key -r - resize-pane -D 5
bind-key -r + resize-pane -U 5
bind-key -r < resize-pane -L 5
bind-key -r > resize-pane -R 5
# Open new windows sand panes in current directory
# bind c new-window -c "#{pane_current_path}"
bind '"' split-window -v -c "#{pane_current_path}"
bind % split-window -h -c "#{pane_current_path}"
bind-key s split-window -v -c "#{pane_current_path}"
bind-key v split-window -h -c "#{pane_current_path}"
# Appearance
# set right status bar blank (until better use for it found)
set -g status-right ""
# default statusbar colors
set -g status-fg white
set -g status-bg default
# set -g status-attr default
set -g status-style default
# some default dimensions
set -g main-pane-width 90
bind-key m select-layout main-vertical
# active pane has a blue border
# set-option -g pane-active-border-fg blue
set-option -g pane-active-border-style fg=blue
# default window title colors
set-window-option -g window-status-style fg=cyan,bg=default,dim
# # active window title colors
set-window-option -g window-status-current-style fg=white,bg=default,bright
# # command/message line colors
set -g message-style fg=white,bg=black,bright
# # List of plugins https://github.com/tmux-plugins/list
# set -g @plugin 'tmux-plugins/tpm' # https://github.com/tmux-plugins/tpm
# set -g @plugin 'catppuccin/tmux' # https://github.com/catppuccin/tmux
# set -g @plugin "janoamaral/tokyo-night-tmux" # https://github.com/janoamaral/tokyo-night-tmux
#
# # Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
# run '~/.tmux/plugins/tpm/tpm'