-
Notifications
You must be signed in to change notification settings - Fork 0
/
.tmux.conf
147 lines (120 loc) · 4.55 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
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
# set-option -g prefix C-s
# unbind C-b
# bind C-a send-prefix
unbind C-Space
set -g prefix C-Space
bind C-Space send-prefix
bind-key u source-file ~/.tmux.conf # ; display "tmux config reloaded."
set-option -g display-time 2000
set-option -g repeat-time 0
set -g mouse on # just in case.
bind C-l send-keys 'C-l'
# Start windows and panes at 1, not 0
set -g base-index 1
setw -g pane-base-index 1
set-option -g allow-rename off
# Kill panes and windows without confirmation
bind-key & kill-window
bind-key x kill-pane
# Padding between prompt
set-window-option -g pane-border-status bottom
set-window-option -g pane-border-format '#{pane_current_path}'
# Renumber windows
set-option -g renumber-windows on
# Current window name bold
set -g window-status-current-style fg=terminal,bold
# true colours support
# set -g default-terminal "xterm-256color"
set -g default-terminal "screen-256color"
set -ag terminal-overrides ",xterm-256color:Tc"
set-option -ga terminal-overrides ",xterm-256color:Tc"
set-window-option -g automatic-rename
set-option -g set-titles on
# set-option -p window-active-style bg=black
# No delay for escape key press
set -sg escape-time 0
# for neovim resurrect
set -g @resurrect-strategy-nvim 'session'
# Change background color of a tab when activity occurs
setw -g monitor-activity on
# Do NOT reset the color of the tab after activity stops occuring
setw -g monitor-silence 0
# Disable bell
setw -g monitor-bell off
# Disable visual text box when activity occurs
set -g visual-activity off
set -g @continuum-restore 'on'
# Use Alt-arrow keys without prefix key to switch panes
# bind -n M-Left select-pane -L
# bind -n M-Right select-pane -R
# bind -n M-Up select-pane -U
# bind -n M-Down select-pane -D
# Set easier window split keys
bind-key v split-window -h
bind-key h split-window -v
# Shift arrow to switch windows
# TODO Remap me
bind -n S-Left previous-window
bind -n S-Right next-window
# bind -n S-Left previous-window
# bind -n S-Right next-window
# Easily reorder windows with CTRL+SHIFT+Arrow
# bind-key -n C-S-h swap-window -t -1
# bind-key -n C-S-l swap-window -t +3
# Synchronize panes
bind-key y set-window-option synchronize-panes\; display-message "synchronize mode toggled."
# set status bar to top
set-option -g status-position top
# List of plugins
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
set -g @plugin 'catppuccin/tmux'
set -g @plugin 'christoomey/vim-tmux-navigator'
# Vi mode
set-window-option -g mode-keys vi
bind P paste-buffer
bind-key -T copy-mode-vi v send-keys -X begin-selection
bind-key -T copy-mode-vi y send-keys -X copy-selection
bind-key -T copy-mode-vi r send-keys -X rectangle-toggle
# Shell
set -g default-command /usr/bin/zsh
set -g default-shell /usr/bin/zsh
# Catppuccin
set -g @catppuccin_flavour 'mocha'
set -g @catppuccin_status_background "default"
set -g @catppuccin_window_tabs_enabled on
# directory user host session
set -g @catppuccin_status_modules_right "user host session"
set -g @catppuccin_directory_text "#{pane_current_path}"
# Rename windows
# set -g @catppuccin_window_default_text "#W"
# set -g @catppuccin_window_current_text "#W"
# set -g @catppuccin_window_right_separator "█ "
# set -g @catppuccin_window_left_separator "█"
# set -g @catppuccin_window_number_position "right"
# set -g @catppuccin_window_middle_separator " | "
# set -g @catppuccin_window_default_fill "none"
# set -g @catppuccin_window_current_fill "all"
# set -g @catppuccin_status_left_separator "█"
# set -g @catppuccin_status_right_separator "█"
set -g @catppuccin_date_time_text "%Y-%m-%d %H:%M:%S"
# set -g @catppuccin_window_left_separator "█"
# set -g @catppuccin_window_right_separator "█ "
# set -g @catppuccin_window_number_position "right"
# set -g @catppuccin_window_middle_separator " █"
set -g @catppuccin_window_default_text "#W"
set -g @catppuccin_window_current_text "#W"
set -g @catppuccin_window_left_separator ""
set -g @catppuccin_window_right_separator " "
set -g @catppuccin_window_middle_separator " █"
set -g @catppuccin_window_number_position "right"
set -g @catppuccin_window_default_fill "number"
set -g @catppuccin_window_current_fill "number"
set -g @catppuccin_status_modules_right "directory user host session"
set -g @catppuccin_status_left_separator " "
set -g @catppuccin_status_right_separator ""
set -g @catppuccin_status_fill "icon"
set -g @catppuccin_status_connect_separator "no"
set -g @catppuccin_directory_text "#{pane_current_path}"
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
run '~/.tmux/plugins/tpm/tpm'