-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.tmux.conf
85 lines (67 loc) · 3.22 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
# --------=== Plugins
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-copycat'
set -g @plugin 'tmux-plugins/tmux-yank'
# --------=== General
set -g default-terminal "tmux-256color"
# useful for fixing mismatching nvim colors while on Alacritty. Follow: https://gist.github.com/andersevenrud/015e61af2fd264371032763d4ed965b6
set -ag terminal-overrides ",xterm-256color:RGB"
# set-option -ga terminal-overrides ",tmux-256color:Tc"
setw -g xterm-keys on
set -s focus-events on
# faster command sequences aka no delay when pressing certain keys (e.g. Esc)
set -sg escape-time 0
set -sg repeat-time 600 # increase repeat timeout
# Automatically set window title
set-window-option -g automatic-rename on
set-option -g set-titles on
set -g history-limit 50000
set -g mouse on
setw -q -g utf8 on # charset
# --------=== Display
set -g base-index 1 # start windows numbering at 1
setw -g pane-base-index 1 # make pane numbering consistent with windows
set -g renumber-windows on # renumber windows when a window is closed
set -g set-titles on # set terminal title
set -g display-panes-time 800 # slightly longer pane indicators display time
set -g display-time 1000 # slightly longer status messages display time
set -g status-interval 0 # redraw status line every 10 seconds
# --------=== Key binding
set-option -g prefix M-f
bind r source-file ~/.tmux.conf # source .tmux.conf at $HOME
bind-key v split-window -h -c "#{pane_current_path}" # horizontally split current window
bind-key s split-window -v -c "#{pane_current_path}" # vertically split current window
# Resize panes
bind-key J resize-pane -D 20
bind-key K resize-pane -U 20
bind-key H resize-pane -L 20
bind-key L resize-pane -R 20
# Select panes
bind-key j select-pane -D
bind-key k select-pane -U
bind-key h select-pane -L
bind-key l select-pane -R
# ----------------------------=== Modes ===--------------------------
set -g status-keys vi # vi status
setw -g mode-keys vi # vi shortcuts
# ----------------------------=== Theme ===--------------------------
set -g status-position top
set -g status 'on'
set -g status-bg 'colour234'
set -g status-justify 'left'
set -g status-left-length '100'
set -g status-right-length '100'
set -g message-style fg='colour222',bg='colour238'
set -g message-command-style fg='colour222',bg='colour238'
set -g pane-border-style fg='colour238'
set -g pane-active-border-style fg='colour154'
setw -g window-status-activity-style fg='colour154',bg='colour235',none
setw -g window-status-separator ''
setw -g window-status-style fg='colour121',bg='colour235',none
# --------=== Statusline
set -g status-left ''
set -g status-right '#[fg=colour99,bg=colour234,nobold,nounderscore,noitalics]#[fg=colour232,bg=colour99,nobold,nounderscore,noitalics] #[fg=colour222,bg=colour238] #W #{?client_prefix,#[fg=colour198],#[fg=colour83]}#[bg=colour238]#{?client_prefix,#[bg=colour198],#[bg=colour83]}#[fg=colour232] #[fg=colour222,bg=colour238] #S '
setw -g window-status-format '#[fg=colour232,bg=colour111] #I #[fg=colour222,bg=colour235] #{b:pane_current_path} '
setw -g window-status-current-format '#[fg=colour232,bg=colour208] #I #[fg=colour255,bg=colour237] #{b:pane_current_path} '
# --------=== Plugin
run '~/.tmux/plugins/tpm/tpm'