blob: 9643dc6b15c34705a636e43e74526c00184257e0 (
plain) (
blame)
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
|
# remap prefix
set-option -g prefix C-Space
unbind C-Space
bind-key C-Space send-prefix
set -g mouse on
set -g base-index 1
setw -g pane-base-index 1
set -g renumber-windows on
set -g set-clipboard on
set -g pane-border-status off
set -g history-limit 100000
set -g set-titles on
set -g set-titles-string "#S:#W"
# Keep project-style session names intact in the default status-left format.
set -g status-left-length 30
set -g automatic-rename off
set -g allow-rename off
# Proper RGB/truecolor support in Ghostty.
set -as terminal-features ",xterm-ghostty:RGB"
set -as terminal-features ',*:hyperlinks'
# Forward terminal focus changes to applications.
# Useful for Neovim FocusGained/FocusLost, auto-reloading files, etc.
set -g focus-events on
# Don't introduce noticeable Escape latency.
set -sg escape-time 10
# split panes
bind / split-window -hc "#{pane_current_path}"
bind - split-window -vc "#{pane_current_path}"
bind c new-window -c "#{pane_current_path}"
bind z resize-pane -Z
bind x kill-pane
bind Tab last-window
# Return to the previously used session/project.
bind B switch-client -l
# Choose or create a project session in a compact popup picker.
bind w display-popup -E -B "~/.local/bin/tmux-project-switcher"
bind -r "<" swap-pane -d -t -1
bind -r ">" swap-pane -d -t +1
bind r source-file ~/.tmux.conf
bind -n C-h select-pane -L
bind -n C-j select-pane -D
bind -n C-k select-pane -U
bind -n C-l select-pane -R
# Plugins
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-resurrect'
set -g @plugin 'tmux-plugins/tmux-continuum'
# Automatically restore the latest saved environment
set -g @continuum-restore 'on'
# Save every 5 minutes instead of the default 15.
set -g @continuum-save-interval '5'
# Keep TPM last
run '~/.tmux/plugins/tpm/tpm'
|