-
Notifications
You must be signed in to change notification settings - Fork 44
/
.tmux.conf
83 lines (72 loc) · 3.25 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
# Remap default action prefix
set -g prefix C-a
unbind C-b
bind-key C-a send-prefix
# Quick refresh of tmux config
unbind r
bind r source-file ~/.tmux.conf
# Truecolor support
set -g default-terminal 'tmux-256color'
set-option -sa terminal-overrides ",xterm*:Tc"
# Session management bindings
bind 1 switchc -t 'My Session 1' # prefix + 1 switches to a named session
bind 2 switchc -t 'My Session 2' # prefix + 2 switches to a named session
bind a switch-client -l # switch to last active session
# Split window bindings
unbind %
bind | split-window -h # vertical split
unbind '"'
bind - split-window -v # horizontal split
bind -r j resize-pane -D 5
bind -r k resize-pane -U 5
bind -r l resize-pane -R 5
bind -r h resize-pane -L 5
bind -r m resize-pane -Z # maximize/unmaximize pane
bind-key h select-pane -L # select pane on left
bind-key j select-pane -D # select pane on bottom
bind-key k select-pane -U # select pane on top
bind-key l select-pane -R # select pane on right
# Act like vim
set-window-option -g mode-keys vi
bind-key -T copy-mode-vi 'v' send -X begin-selection
bind-key -T copy-mode-vi 'y' send -X copy-selection
unbind -T copy-mode-vi MouseDragEnd1Pane
# Mouse support
set -g mouse on
# List of plugins
set -g @plugin 'tmux-plugins/tpm' # plugin manager
set -g @plugin 'tmux-plugins/tmux-sensible' # nice set of standard options
set -g @plugin 'christoomey/vim-tmux-navigator' # navigate tmux and vim in the same way
set -g @plugin 'tmux-plugins/tmux-yank' # yank support
set -g @plugin 'tmux-plugins/tmux-resurrect' # persist tmux sessions after reboot
set -g @resurrect-capture-pane-contents 'on' # capture pane contents when saving sessions
set -g @resurrect-strategy-vim 'session' # resurrect nvim session as well as tmux
set -g @resurrect-strategy-nvim 'session' # resurrect nvim session as well as tmux
set -g @plugin 'tmux-plugins/tmux-continuum' # auto save sessions every 15 min
set -g @continuum-restore 'on' # turn on resurrect restore
# TMUX Theme (uncomment section for whichever theme you prefer or use your own)
# TMUX Power Theme
set -g @plugin 'wfxr/tmux-power'
set -g @tmux_power_theme 'gold' # gold, everforest, moon, coral, snow, forest, violet, redwine, #HEXCODE
set -g @tmux_power_date_format '%m/%d/%Y'
set -g @tmux_power_time_format '%-I:%M %p'
set -g @tmux_power_date_icon ' ' # set it to a blank will disable the icon
set -g @tmux_power_time_icon ' ' # set it to a blank will disable the icon
# Tokyo Night Theme
# set -g @plugin 'fabioluciano/tmux-tokyo-night'
# set -g @theme_variation 'night' # storm, night, moon, day
# set -g @theme_plugin_datetime_format '%m/%d/%Y %-I:%M %p'
# Catppuccin Theme
# set -g @plugin 'catppuccin/tmux'
# set -g @catppuccin_flavour 'mocha' # latte, frappe, macchiato, mocha
# set -g @catppuccin_window_number_position "none"
# set -g @catppuccin_status_modules_left "session application"
# set -g @catppuccin_status_modules_right "date_time"
# set -g @catppuccin_status_left_separator ""
# set -g @catppuccin_status_right_separator ""
# set -g @catppuccin_status_right_separIator_inverse "no"
# set -g @catppuccin_status_fill "all"
# set -g @catppuccin_status_connect_separator "no"
# set -g @catppuccin_date_time_text "%m/%d/%Y %-I:%M %p"
# Initialize tmux plugin manager (keep this line at the bottom)
run '~/.tmux/plugins/tpm/tpm'