X-Git-Url: https://git.phdru.name/?a=blobdiff_plain;f=.tmux.conf;h=72b57b5e6b7d94d09c99e813d0dcfb7d344f2148;hb=95f53ddcd84e27d6827bc7eb5a882b507fac80ca;hp=fe4827c77e837727bd7676b296834639fb2b260c;hpb=7ae608fc1103371b8fa72fb027fb8206c25e9a15;p=dotfiles.git diff --git a/.tmux.conf b/.tmux.conf index fe4827c..72b57b5 100644 --- a/.tmux.conf +++ b/.tmux.conf @@ -4,15 +4,16 @@ 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 -set-option -g mouse-select-pane on -set-option -g mouse-resize-pane on -# Mouse can be used to select windows (by clicking in the status bar) -set-option -g mouse-select-window on +#set-option -g mouse on # Rather than constraining window size to the maximum size of any client # connected to the *session*, constrain window size to the maximum size of any @@ -43,7 +44,6 @@ 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 @@ -56,8 +56,18 @@ 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 \; display "Reloaded!" +bind-key R source-file ~/.tmux.conf \; display "Configuration reloaded!" # vim-like navigation unbind-key h; bind-key h select-pane -L @@ -70,23 +80,19 @@ bind J resize-pane -D 10 bind K resize-pane -U 10 bind L resize-pane -R 10 -# 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 +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 C-y run "tmux save-buffer - | xclip -i" -bind C-p copy-pipe "xsel -i -p && xsel -o -p | xsel -i -b" +bind -t vi-copy C-y copy-pipe "xclip -i" # Copy X clipboard to tmux paste buffer -# bind C-p run "xclip -o | tmux load-buffer -; tmux paste-buffer" -bind C-y run "xsel -o | tmux load-buffer - ; tmux paste-buffer" +bind C-p run-shell "xclip -o | tmux load-buffer -; tmux paste-buffer"