You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
113 lines
3.5 KiB
113 lines
3.5 KiB
## |
|
## ~/.tmux.conf -- tmux(1) configuration |
|
## Copyright (c) 1995-2019 Ralf S. Engelschall <rse@engelschall.com> |
|
## Distributed under MIT <https://opensource.org/licenses/MIT> license. |
|
## |
|
|
|
# switch prefix key to CTRL+a like screen(1) |
|
unbind-key C-b |
|
set-option -g prefix C-a |
|
bind-key a send-prefix |
|
bind-key C-a last-window |
|
|
|
# remove unnecessary key bindings |
|
unbind-key n |
|
unbind-key Space |
|
unbind-key "'" |
|
unbind-key '"' |
|
unbind-key "#" |
|
unbind-key "\$" |
|
unbind-key "&" |
|
unbind-key "," |
|
unbind-key "." |
|
unbind-key "\\;" |
|
unbind-key "}" |
|
unbind-key "{" |
|
unbind-key "[" |
|
unbind-key "]" |
|
unbind-key PPage |
|
unbind-key M-1 |
|
unbind-key M-2 |
|
unbind-key M-3 |
|
unbind-key M-4 |
|
unbind-key M-5 |
|
unbind-key M-n |
|
unbind-key M-o |
|
unbind-key M-p |
|
unbind-key C-Up |
|
unbind-key C-Down |
|
unbind-key C-Left |
|
unbind-key C-Right |
|
unbind-key M-Up |
|
unbind-key M-Down |
|
unbind-key M-Left |
|
unbind-key M-Right |
|
|
|
# global Alt+LEFT/RIGHT cycles through windows |
|
# global Alt+UP/DOWN cycles through panes |
|
bind-key -n M-Right select-window -n |
|
bind-key -n M-Left select-window -p |
|
bind-key -n M-Up select-pane -t:.- |
|
bind-key -n M-Down select-pane -t:.+ |
|
|
|
# configure special pane handling |
|
unbind-key % |
|
bind-key | split-window -h -c "#{pane_current_path}" |
|
bind-key - split-window -v -c "#{pane_current_path}" |
|
bind-key Left select-pane -L |
|
bind-key Right select-pane -R |
|
bind-key Up select-pane -U |
|
bind-key Down select-pane -D |
|
bind-key z resize-pane -Z |
|
bind-key x kill-pane |
|
bind-key o rotate-window |
|
bind-key "#" next-layout |
|
bind-key s set-window-option -g synchronize-panes |
|
set-option -g mouse on |
|
set-option -g -w pane-active-border-style fg=red |
|
set-option -g -w pane-border-style fg=default |
|
|
|
# configure special window handling |
|
bind-key c new-window -c "#{pane_current_path}" |
|
bind-key Tab choose-tree -Z |
|
bind-key k confirm-before "kill-window" |
|
bind-key -r "<" swap-window -t -1 |
|
bind-key -r ">" swap-window -t +1 |
|
bind-key Space next-window |
|
bind-key d detach-client |
|
|
|
# configure copy buffer |
|
set-option -g -w mode-keys vi |
|
bind-key v copy-mode |
|
bind-key -T copy-mode-vi v send-keys -X begin-selection |
|
bind-key -T copy-mode-vi V send-keys -X start-of-line \; send-keys -X begin-selection \; send-keys -X end-of-line |
|
bind-key -T copy-mode-vi C-v send-keys -X begin-selection \; send-keys -X rectangle-toggle |
|
bind-key -T copy-mode-vi y send-keys -X copy-selection-and-cancel |
|
bind-key -T copy-mode-vi Enter send-keys -X copy-selection-and-cancel |
|
bind-key -T copy-mode-vi Space send-keys -X clear-selection |
|
bind-key -T copy-mode-vi Escape send-keys -X cancel |
|
bind-key p paste-buffer |
|
bind-key P choose-buffer -Z -O time |
|
|
|
# general options |
|
set-option -g history-limit 10000 |
|
set-option -g display-panes-time 2000 |
|
set-option -g display-time 4000 |
|
set-option -g base-index 1 |
|
set-option -g bell-action any |
|
set-option -g visual-activity on |
|
set-option -g focus-events on |
|
set-option -g -s escape-time 50 |
|
set-window-option -g monitor-activity on |
|
|
|
# status bar providing window and pane information |
|
set-option -g status-keys emacs |
|
set-option -g status-style fg=default,bg=default,reverse |
|
set-option -g status-justify right |
|
set-option -g status-left " #(echo $LOGNAME)#{?session_attached, <#{session_name}>,} #[fg=red] #I [#{window_panes}] " |
|
set-option -g status-left-length 20 |
|
set-option -g status-right "" |
|
set-option -g status-right-length 60 |
|
set-option -g window-status-format " #I #W " |
|
set-option -g window-status-current-format "#[fg=red] #I #W " |
|
|
|
|