dotfiles/.tmux.conf

96 lines
3.1 KiB
Bash

set -g prefix ^o
set -g base-index 1
set -g display-panes-time 3000
set -s escape-time 10
set -g status on
set -g status-interval 30
set -g focus-events on
set -g allow-passthrough on
setw -g alternate-screen on
setw -g aggressive-resize on
setw -g automatic-rename off
setw -g mode-keys vi
set-option -g mouse on
# clipboard
set -g set-clipboard on
bind-key ] paste-buffer -p
set-environment -g "SSH_AUTH_SOCK" "$XDG_RUNTIME_DIR/gcr/ssh"
set -g update-environment "BUILD_COMMAND GOPACKAGESDRIVER SSH_AUTH_SOCK SSH_CONNECTION"
#set -g default-command "$SHELL"
set -g history-limit 10000
#
set -g default-terminal "wezterm"
set -ga terminal-features '*:clipboard:ccolor:hyperlinks:osc7:overline:sixel:strikethrough:title:usstyle:RGB'
set -ga terminal-overrides ',wezterm:cnorm=\E[?12h\E[?25h'
# Key bindings
bind -n M-Tab if-shell 'test #{window_panes} -gt 1' 'last-pane' 'last-window'
bind -n M-h select-pane -L
bind -n M-l select-pane -R
bind -n M-Left select-pane -L
bind -n M-Right select-pane -R
# bind -n M-j select-pane -U
# bind -n M-k select-pane -D
bind -T copy-mode-vi M-k send-keys -X cursor-up \; send-keys -X previous-prompt -o \; send-keys -X cursor-up
bind -T copy-mode-vi M-j send-keys -X cursor-down \; send-keys -X next-prompt -o \; send-keys -X cursor-up
bind -n M-k copy-mode \; send-keys -X previous-prompt -o \; send-keys -X cursor-up
bind -n M-j copy-mode \; send-keys -X previous-prompt -o \; send-keys -X cursor-up
bind -n M-Up select-pane -U
bind -n M-Down select-pane -D
bind -n M-1 select-window -t 42
bind -n M-2 select-window -t 2
bind -n M-3 select-window -t 3
bind -n M-4 select-window -t 4
bind -n M-5 select-window -t 5
bind -n M-6 select-window -t 6
bind -n M-7 select-window -t 7
bind -n M-8 select-window -t 8
bind -n M-9 select-window -t 9
bind -n M-0 select-window -t 10
bind -n M-m send-keys -t 9 q C-u "clear; tmux clear-history -t 9" C-m C-p C-p C-p C-m
bind C-o send-keys C-o
bind r source-file ~/.tmux.conf
bind -n C-Right next-window
bind -n C-Left previous-window
bind C-s set-option -g status
bind K confirm kill-server
bind C-k clear-history
bind -n C-l send-keys C-l \; clear-history
bind-key -T copy-mode-vi WheelUpPane select-pane \; send-keys -X -N 1 scroll-up
bind-key -T copy-mode-vi WheelDownPane select-pane \; send-keys -X -N 1 scroll-down
bind-key / copy-mode \; send-key ?
bind-key P 'capture-pane' \; capture-pane -S - \; save-buffer /tmp/tmux \; delete-buffer
bind-key -n C-\\ copy-mode \; send -X search-backward " % "\; send -X search-again
setw -g window-status-format ""
setw -g window-status-current-format ""
setw -g window-status-separator ""
set -g status-style "bg=#444444,fg=#dddddd,italics"
set -g popup-border-style "fg=#77fecc"
set -g pane-border-style "fg=#334455"
set -g pane-active-border-style "fg=#334455"
set -g status-position bottom
set -g status-left-length 0
set -g status-right-length 0
set -g status-left '[#I] #{pane_current_path}'
set -g status-right '%F | %R'
set -g status off
set -g set-titles on
set -g set-titles-string "#H - #T"
new -s0 -n 1
new-window -n 2
new-window -n 3
new-window -n 4
new-window -n 5
new-window -n 6
new-window -n 7
new-window -n 8
new-window -n 9
new-window -n 0
# vim:set ft=tmux: