-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.tmux.conf
101 lines (85 loc) · 3.37 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
# https://github.com/3rd/image.nvim/?tab=readme-ov-file#tmux
# This is needed by the image.nvim plugin
set -gq allow-passthrough on
# This is related to the `tmux_show_only_in_active_window = true,` config in
# image.nvim
set -g visual-activity off
set -g default-terminal screen-256color
set -sg terminal-overrides ",*:RGB"
set-option -g default-shell /bin/zsh
set-option -g status-position bottom
set -g history-limit 100000
set-window-option -g mode-keys vi
set -s escape-time 0
set -g display-panes-time 100
set -g base-index 1
set-window-option -g pane-base-index 1
set -g renumber-windows on
setw -g pane-base-index 1
set -g mouse on
unbind C-b
set -g prefix C-Space
# theme
set -g status-style bg=default,fg=white
set -g window-status-current-style bg=black,fg=white,bold
set -g pane-border-style fg=white
set -g pane-active-border-style fg=colour39,bg=default
set -g mode-style fg=white,bold
set -g status-interval 60
set -g status-left-length 30
set -g status-left ' '
set -g status-right '#[fg=red,bold]@#[fg=cyan]»» #[fg=blue,bold]#[fg=blue,bold]#S#[default] #[fg=magenta]%R %h-%d #(acpi | cut -d ',' -f 2)#[default]'
set -g window-status-current-style bg=default,fg=magenta
color_status_text="colour245"
color_window_off_status_bg="colour238"
color_light="white"
color_dark="colour232"
color_window_off_status_current_bg="colour254"
set-option -g set-titles on
set-option -g set-titles-string '#H:#S.#I.#P #W #T'
bind-key y paste-buffer
bind , source-file ~/.tmux.conf \; refresh-client \; display "Conf Reloaded!"
bind v split-window -h -c "#{pane_current_path}"
bind h split-window -v -c "#{pane_current_path}"
# Bind keys to switch to windows directly
unbind n
bind n select-window -t 1
bind e select-window -t 2
bind i select-window -t 3
bind l select-window -t 4
bind y select-window -t 5
bind w new-window -c "#{pane_current_path}"
bind r command-prompt -p 'Rename Window:' 'rename-window "%%"'
unbind w #DEFAULT KEY: change current window interactively
bind w new-window -c "#{pane_current_path}"
bind-key r command-prompt -p 'Rename Window:' 'rename-window "%%"'
# Quick window selection
bind -r C-h select-window -t :- # Jump to window on the left
# More vim-like quit
bind-key q confirm-before -p "Quit pane @P? (y/n)" kill-pane
# KEY BINDINGS -VI COPY MODE
bind-key Space copy-mode
bind-key -T copy-mode-vi v send -X begin-selection
bind -T copy-mode-vi y send-keys -X copy-pipe-and-cancel 'xclip -in -selection clipboard'
bind-key -T copy-mode-vi c-v send -X rectangle-toggle
unbind-key !
bind-key t run-shell '(tmux switch-client -l || tmux switch-client -n) && tmux kill-session -t "#S" || tmux kill-session'
bind-key J command-prompt -p "join pane from: " "join-pane -h -s '%%'"
bind j run-shell "tmux-popup 'tmux-switch-session' 100"
bind p run-shell "tmux-popup"
bind-key b break-pane -d
bind-key j command-prompt -p "join pane from: " "join-pane -h -s '%%'"
bind-key s display-panes\; command-prompt -p "pane #: " "swap-pane -t '%%'"
bind-key K run-shell 'tmux switch-client -n \; kill-session -t "$(tmux display-message -p "#S")" || tmux kill-session'
bind C-o display-popup -E "~/.bin/tat.sh ~/projects"
unbind -n Tab
unbind -n O
unbind -n o
unbind-key -n Tab
# List of plugins
# install package: <prefix>I
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-resurrect'
set -g @plugin 'tmux-plugins/tmux-continuum'
set -g @continuum-restore 'on'
run '~/.tmux/plugins/tpm/tpm'