-
Notifications
You must be signed in to change notification settings - Fork 0
/
.tmux.conf
94 lines (69 loc) · 2.6 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
# set zsh as default shell
set-option -g default-shell /bin/zsh
# remap prefix from 'C-b' to 'C-f'
unbind C-b
set-option -g prefix C-f
bind C-f send-prefix
# split panes using d and f
bind -n M-v split-window -v
bind -n M-h split-window -h
# reload config file (change file location to your the tmux.conf you want to use)
bind r source-file ~/.tmux.conf
# vim-like moves between panes with Alt key
bind -n M-j select-pane -D
bind -n M-k select-pane -U
bind -n M-h select-pane -L
bind -n M-l select-pane -R
# resize panes
bind -n M-S-j resize-pane -D 5
bind -n M-S-k resize-pane -U 5
bind -n M-S-h resize-pane -L 5
bind -n M-S-l resize-pane -R 5
# select next/prev window
bind -n M-n next-window
bind -n M-p previous-window
bind -n M-c new-window
# set mouse mode on
set -g mouse on
# disable automatic window rename
set-window-option -g automatic-rename off
# synchronize panes - send the same commands to all the open panes
# use <prefix> Shift-e to enable/disable
bind -n M-s setw synchronize-panes
# use vim movement for copy mode
setw -g mode-keys vi
bind-key -T copy-mode-vi v send-keys -X begin-selection
bind -T copy-mode-vi y send-keys -X copy-pipe-and-cancel 'xclip -in -selection clipboard'
set -g status-keys vi
setw -g monitor-activity on
# No delay for escape key press
set -sg escape-time 0
# more history
set-option -g history-limit 10000
# nice colors
set -g default-terminal "tmux-256color"
# border colours
# setw -g pane-border-style fg=default
# setw -g pane-active-border-style bg=black,fg=blue
#
# set -g window-style fg=colour240
# set -g window-active-style fg=white
set -g status-bg colour61
bind -n "M-d" new-window -n "dotfiles" "cd ~/personal/repos/dotfiles && nvim nvim/."
bind -n "M-t" new-window -n "notes" "cd ~/braindump/notes && nvim cs/cs-TODO.md"
bind -r t neww -c "#{pane_current_path}" "[[ -e TODO.md ]] && nvim TODO.md || nvim ~/braindump/notes/personal/TODO.md"
bind -r d run-shell "~/.local/bin/tmux-sessionizer ~/personal/repos/dotfiles/"
bind -r n run-shell "~/.local/bin/tmux-sessionizer ~/braindump/notes/"
bind -r j run-shell "~/.local/bin/tmux-sessionizer ~/work/projects/product-madness/"
# plugins
set -g @plugin 'tmux-plugins/tmux-resurrect'
#set -g @plugin 'tmux-plugins/tmux-continuum'stv
set -g @plugin 'fcsonline/tmux-thumbs'
set -g @thumbs-osc52 1
set -g @plugin 'catppuccin/tmux'
set -g @catppuccin_status_left_separator " █"
set -g @catppuccin_window_default_text "#W"
set -g @catppuccin_window_current_text "#W"
run-shell ~/.tmux/plugins/tmux-thumbs/tmux-thumbs.tmux
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
run '~/.tmux/plugins/tpm/tpm'