-
Notifications
You must be signed in to change notification settings - Fork 1
/
tmux.conf
94 lines (77 loc) · 2.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
# Global Options
# definitely use zsh
set -g default-shell /bin/zsh
# vim bindings
set -g mode-keys vi
# arrays start at one
set -g base-index 1
set -g pane-base-index 1
# automatically renumber windows when they are closed
set -g renumber-windows on
# let the mouse scroll
set -g mouse on
# nvim told me to
set -sg escape-time 10
set -g focus-events on
set -sa terminal-overrides ',xterm*:Tc'
set -s default-terminal 'screen-256color'
# Look and feel
# --> Catppuccin (Mocha) -- https://github.com/dreamsofcode-io/catppuccin-tmux
# thm_bg="#1e1e2e"
# thm_fg="#cdd6f4"
# thm_subtext1="#bac2de"
# thm_subtext0="#a6adc8"
# thm_cyan="#89dceb"
# thm_black="#181825"
# thm_gray="#313244"
# thm_magenta="#cba6f7"
# thm_pink="#f5c2e7"
# thm_red="#f38ba8"
# thm_green="#a6e3a1"
# thm_yellow="#f9e2af"
# thm_blue="#89b4fa"
# thm_orange="#fab387"
# thm_black4="#585b70"
# statusbar
set -g status-style 'bg=#181825,fg=#cdd6f4'
set -g status-position bottom
set -g status-justify left
set -g status-left ' #[fg=#181825#,bg=#fab387] #S #[default] '
set -g status-left-length 20
set -g status-right '#[fg=#585b70]%H:%M %d-%b-%y#[default] #[fg=#181825#,bg=#cba6f7] #{pane_current_command} #[default]#{?client_prefix, #[fg=#f9e2af][Prefix]#[default],}#{?pane_in_mode, #[fg=#f38ba8][Copy]#[default],} '
# window options
set -g window-status-separator ' '
set -g window-status-style 'fg=#bac2de'
set -g window-status-current-style 'fg=#89dceb'
set -g window-status-format '#I @ /#{b:pane_current_path}#[fg=#585b70]#F#[default]'
set -g window-status-current-format '#I @ /#{b:pane_current_path}#[fg=#585b70]#F#[default]'
# Mappings
# remap prefix from 'C-b' to 'C-<Space>'
unbind C-Space
unbind C-b
set -g prefix C-Space
bind-key C-Space send-prefix
# vim navigation
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
# vim resizing
bind < resize-pane -L 5
bind > resize-pane -R 5
bind + resize-pane -U 5
bind - resize-pane -D 5
# vim visual mode mappings in copy mode
bind -T copy-mode-vi v send-keys -X begin-selection
bind -T copy-mode-vi C-v send-keys -X rectangle-toggle
bind -T copy-mode-vi y send-keys -X copy-selection-and-cancel
# eXchange panes
bind x swap-pane -s 1 -t 2
# pictoral splits
bind _ split-pane -v -c "#{pane_current_path}"
bind | split-pane -h -c "#{pane_current_path}"
# move panes around
bind -n S-Up move-pane -h -t ".{up-of}"
bind -n S-Right move-pane -t ".{right-of}"
bind -n S-Left move-pane -t ".{left-of}"
bind -n S-down move-pane -h -t ".{down-of}"