X-Git-Url: https://git.phdru.name/?a=blobdiff_plain;f=.tmux.conf;h=ef1626023fbafbdaed5a5fe6555dd665e0691406;hb=44322e6673eb383ccd1e8eec1a0f5fdeaa9e3ce1;hp=260087c5a2ea316b578bc6b29c4e89a7063d2903;hpb=fcf758d64a1380c63b31e15242f6472a1d621a55;p=dotfiles.git diff --git a/.tmux.conf b/.tmux.conf index 260087c..ef16260 100644 --- a/.tmux.conf +++ b/.tmux.conf @@ -1,21 +1,16 @@ -# Set the command prefix to match GNU screen (CTRL+a) -# set-option -g prefix C-a -# -# Use C-a C-a key to send prefix instead of the default -# unbind-key C-b -# bind-key C-a send-prefix -# -# C-a for last-window -# bind-key C-a last-window - # Start window numbers at 1 to match keyboard order with tmux window order set-option -g base-index 1 set-option -g pane-base-index 1 # Renumber windows sequentially after closing any of them set-option -g renumber-windows on +# Keyboard +set-window-option -g mode-keys vi # Pass [Ctrl]+[PgUp/PgDn] set-window-option -g xterm-keys on +# Don't wait for [Esc] to allow fast switching from insert mode to normal in vim +# Set (and export) environment variable SLOWTERM to override. +if-shell "test -z $SLOWTERM" "set-option -gs escape-time 0" # Mouse set-window-option -g mode-mouse on @@ -41,29 +36,21 @@ set-option -g set-titles on # Terminal emulator window title set-option -g set-titles-string 'tmux #S.#I.#P #T' # session, window number, pane number, title -set-option -g message-bg black -set-option -g message-fg white +set-option -g message-style bg=black,fg=white # Soften status bar color from black on harsh green to black on cyan -set-option -g status-bg cyan -set-option -g status-fg black - -set-option -g pane-active-border-bg default -set-option -g pane-active-border-fg green -set-option -g pane-border-bg default -set-option -g pane-border-fg white - -set-window-option -g mode-bg black - -set-window-option -g window-status-bg cyan -set-window-option -g window-status-current-attr default -set-window-option -g window-status-current-fg blue -set-window-option -g window-status-bell-attr default -set-window-option -g window-status-bell-fg red -set-window-option -g window-status-content-attr default -set-window-option -g window-status-content-fg yellow -set-window-option -g window-status-activity-attr default -set-window-option -g window-status-activity-fg yellow +set-option -g status-style bg=cyan,fg=black + +set-option -g pane-active-border-style bg=default,fg=red +set-option -g pane-border-style bg=default,fg=blue + +set-window-option -g mode-style bg=black + +set-window-option -g window-status-activity-style fg=yellow +set-window-option -g window-status-bell-style fg=red +set-window-option -g window-status-content-style fg=magenta +set-window-option -g window-status-current-style bg=blue,fg=white +set-window-option -g window-status-style bg=cyan,fg=black set-option -g status-left '[#S.#I.#P]' @@ -74,5 +61,43 @@ set-option -g status-right '' # Increase scrollback lines set-option -g history-limit 1000 +# Set the command prefix to match GNU screen (CTRL+a) +# set-option -g prefix C-a +# +# Use C-a C-a key to send prefix instead of the default +# unbind-key C-b +# bind-key C-a send-prefix +# +# C-a for last-window +# bind-key C-a last-window + # R to reload config without restart -bind-key R source-file ~/.tmux.conf +bind-key R source-file ~/.tmux.conf \; display "Configuration reloaded!" + +# vim-like navigation +unbind-key h; bind-key h select-pane -L +unbind-key j; bind-key j select-pane -D +unbind-key k; bind-key k select-pane -U +unbind-key l; bind-key l select-pane -R + +bind H resize-pane -L 10 +bind J resize-pane -D 10 +bind K resize-pane -U 10 +bind L resize-pane -R 10 + +bind -r C-h select-window -t :- +bind -r C-l select-window -t :+ + +# Use vertical and horizontal chars to split the screen +bind-key | split-window -h +bind-key - split-window -v + +bind-key -t vi-copy v begin-selection +bind-key -t vi-copy y copy-selection +bind-key -t vi-copy r rectangle-toggle +bind P paste-buffer + +# Copy tmux copy buffer to X clipboard +bind -t vi-copy C-y copy-pipe "xclip -i" +# Copy X clipboard to tmux paste buffer +bind C-p run-shell "xclip -o | tmux load-buffer -; tmux paste-buffer"