-
Notifications
You must be signed in to change notification settings - Fork 0
/
tmux.conf
68 lines (65 loc) · 2.43 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
unbind C-b
set -g prefix C-\\
bind C-\\ send-prefix
bind [ copy-mode \; send-keys -X start-of-line
bind ] paste-buffer -p
bind '"' split-window -v -c "#{pane_current_path}"
bind % split-window -h -c "#{pane_current_path}"
bind c new-window -a
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
bind -r H resize-pane -L 5
bind -r J resize-pane -D 5
bind -r K resize-pane -U 5
bind -r L resize-pane -R 5
bind -T copy-mode-vi End send-keys -X end-of-line
bind -T copy-mode-vi Home send-keys -X start-of-line
bind -T copy-mode-vi PageDown send-keys -X page-down
bind -T copy-mode-vi PageUp send-keys -X page-up
bind -T copy-mode-vi x send-keys -X select-line
set -g automatic-rename off
set -g default-command "${SHELL}"
set -g history-limit 1000000
set -g mode-keys vi
set -g mouse on
set -g renumber-windows on
set -g set-titles on
set -g set-titles-string "#{?#{==:#S,0},,[#S] }#I:#W (#{host})"
set -g status-keys emacs
set -g status-left "#{?#{==:#S,0},,[#S]} "
set -g status-left-length 50
set -g status-right "#{host} • %Y-%m-%d %H:%M "
set -g status-right-length 100
set -g window-status-current-format "#I:#W#{?window_zoomed_flag,[Z],}"
set -g window-status-format "#I:#W#{?window_zoomed_flag,[Z],}"
set -g wrap-search off
set -ga update-environment "TERM,DARK_THEME"
set -s default-terminal "tmux-256color"
set -s escape-time 0
set -s focus-events on
set -s set-clipboard on
set -sa terminal-features "xterm-kitty:hyperlinks"
set -g pane-active-border-style "fg=brightblue"
set -g pane-border-lines "heavy"
set -g pane-border-style "fg=brightblack"
set -g status-style "bg=brightblack"
set -g window-status-bell-style "fg=yellow,bold"
set -g window-status-current-style bold
# Smart pane switching with awareness of Vim splits.
# See: https://github.com/christoomey/vim-tmux-navigator
is_vim="ps -o state= -o comm= -t '#{pane_tty}' \
| grep -iqE '^[^TXZ ]+ +(\\S+\\/)?g?(view|n?vim?x?)(diff)?$'"
bind -n 'C-h' if-shell "$is_vim" 'send-keys C-_ h' 'select-pane -L'
bind -n 'C-j' if-shell "$is_vim" 'send-keys C-_ j' 'select-pane -D'
bind -n 'C-k' if-shell "$is_vim" 'send-keys C-_ k' 'select-pane -U'
bind -n 'C-l' if-shell "$is_vim" 'send-keys C-_ l' 'select-pane -R'
bind -T copy-mode-vi 'C-h' select-pane -L
bind -T copy-mode-vi 'C-j' select-pane -D
bind -T copy-mode-vi 'C-k' select-pane -U
bind -T copy-mode-vi 'C-l' select-pane -R
bind C-h send-keys 'C-h'
bind C-j send-keys 'C-j'
bind C-k send-keys 'C-k'
bind C-l send-keys 'C-l'