X-Git-Url: http://git.iain.cx/?a=blobdiff_plain;f=.tmux.conf;h=d85e935e82d1ba639a217c07e8dded296ce56d34;hb=11580fbc4dedde05c704c8124d8a5ac7cf56204f;hp=8de9f0f0d581ca8a70a4ac9be6cdd7dce57303fb;hpb=4fcf9cd7282d42387e839ccc329edce4dc32e78b;p=profile.git diff --git a/.tmux.conf b/.tmux.conf index 8de9f0f..d85e935 100644 --- a/.tmux.conf +++ b/.tmux.conf @@ -9,19 +9,28 @@ set -g status-keys vi # Don't wait so long to parse escape sequences. set -s escape-time 100 -# Ensure KRB5CCNAME is preserved in the environment. -set -g update-environment 'DISPLAY WINDOWID SSH_ASKPASS SSH_AUTH_SOCK SSH_AGENT_PID SSH_CONNECTION KRB5CCNAME' - # Clock. setw -g clock-mode-colour white setw -g clock-mode-style 24 +# Scrollback buffer. +set -g history-limit 4096 + +# Don't use the mouse to select text by default. +# It has two important flaws. Double-clicking to select a word doesn't work. +# Middle clicking to paste doesn't work. +set -g mouse-resize-pane off +set -g mouse-select-pane off +set -g mouse-select-window off +set -g mode-mouse off + ################################################################################ # Screen compatibility. ################################################################################ set -g prefix C-p unbind C-b bind C-p last-window +bind p send-keys C-p bind C-l refresh-client bind l refresh-client bind S split-window -v @@ -42,17 +51,20 @@ bind j select-pane -D bind C-j select-pane -D bind k select-pane -U bind C-k select-pane -U -# Previous and next window kinda like Vim. -bind h previous-window -bind C-h previous-window -bind l next-window -bind C-l next-window -# And for panes. -bind H select-pane -L -bind L select-pane -R +# Previous and next panes kinda like Vim. +bind h select-pane -L +bind C-h select-pane -L +bind l select-pane -R +bind C-l select-pane -R +# And for windows. +bind H previous-window +bind L next-window +# Last window like Vim. +bind ^ last-window +bind C-^ last-pane # Top and bottom. -bind J select-pane -t bottom -bind K select-pane -t top +bind J select-pane -D +bind K select-pane -U # Swap panes. bind w swap-pane # Show panes. @@ -60,7 +72,9 @@ bind = display-panes # Move the current pane into a separate window. bind b break-pane # Split another pane into this window. -bind B command-prompt -p "Select [.] to join:" 'join-pane -t %1' +bind B command-prompt -p "Select [.] to join:" 'join-pane -s %1' +# Split vertically. +bind C-\ split-window -v # Next pane. bind i select-pane -t :.+ bind C-i select-pane -t :.+ @@ -90,6 +104,8 @@ bind { copy-mode -u #bind '"' choose-buffer 'show-buffer -b %%' bind '"' list-buffers \; command-prompt -p "Choose buffer to show:" 'show-buffer -b %1' bind "'" show-buffer +# Toggle mouse mode as it is useful despite the flaws listed above. +bind C-m set -g mouse-resize-pane \; set -g mouse-select-pane \; set -g mouse-select-window \; set -g mode-mouse ################################################################################ # Fix missing binds in Vi modes. @@ -110,7 +126,7 @@ bind -t vi-copy y copy-selection ################################################################################ set -g default-terminal 'screen-256color' # PuTTY needs help to set bold colours. -set -g terminal-overrides 'putty-256color:C8' +set -a -g terminal-overrides ',putty-256color:C8:Ms=\\E]52;%p1%s;%p2%s\\007m' ################################################################################ # Window and pane settings.