X-Git-Url: http://git.iain.cx/?a=blobdiff_plain;f=.tmux.conf;h=8e27609818ef9e7206d6482eb18d8729d038682b;hb=023ace4cee5028e65f80867e2181dc801145783a;hp=d4077d3057c672f468005b69f82f3c3aac38a14b;hpb=bfa0c4f2b6dd1f8b6c27c7a3d30dd9d21a524fb1;p=profile.git diff --git a/.tmux.conf b/.tmux.conf index d4077d3..8e27609 100644 --- a/.tmux.conf +++ b/.tmux.conf @@ -31,14 +31,13 @@ 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 bind | split-window -h bind C-[ copy-mode bind ] paste-buffer bind C-] paste-buffer bind _ setw monitor-activity +bind M-_ setw monitor-silence 10 bind * list-clients bind < command-prompt -p "Load buffer from file:" 'load-buffer %1' bind > command-prompt -p "Save buffer to file:" 'save-buffer %1' @@ -48,17 +47,22 @@ bind > command-prompt -p "Save buffer to file:" 'save-buffer %1' ################################################################################ # Up and down like Vim. bind j select-pane -D -bind C-j select-pane -D +bind -r C-j select-pane -D bind k select-pane -U -bind C-k select-pane -U +bind -r C-k select-pane -U +# Don't let arrow keys repeat. +bind Up select-pane -U +bind Down select-pane -D +bind Left select-pane -L +bind Right select-pane -R # Previous and next panes kinda like Vim. bind h select-pane -L -bind C-h select-pane -L +bind -r C-h select-pane -L bind l select-pane -R -bind C-l select-pane -R +bind -r C-l select-pane -R # And for windows. -bind H previous-window -bind L next-window +bind -r H previous-window +bind -r L next-window # Last window like Vim. bind ^ last-window bind C-^ last-pane @@ -66,7 +70,12 @@ bind C-^ last-pane bind J select-pane -D bind K select-pane -U # Swap panes. -bind w swap-pane +bind o swap-pane -D +bind -r C-o swap-pane -D +bind -r O swap-pane -U +bind w command-prompt -p "Select [.] to swap:" 'swap-pane -s . -t %1' +# Swap windows. +bind W choose-window "swap-window -t '%%'" # Show panes. bind = display-panes # Move the current pane into a separate window. @@ -77,13 +86,24 @@ bind B command-prompt -p "Select [.] to join:" 'join-pane -s %1' bind C-\ split-window -v # Next pane. bind i select-pane -t :.+ -bind C-i select-pane -t :.+ -bind I select-pane -t :.- +bind -r C-i select-pane -t :.+ +bind -r I select-pane -t :.- +# Resize pane. +bind -r C-M-h resize-pane -L +bind -r C-M-j resize-pane -D +bind -r C-M-k resize-pane -U +bind -r C-M-l resize-pane -R # Layouts. -bind . select-layout even-vertical -bind , select-layout tiled +bind , select-layout even-vertical +bind . select-layout even-horizontal +bind / select-layout tiled +bind M-, select-layout main-vertical +bind M-. select-layout main-horizontal +bind Space next-layout +bind -r C-Space next-layout # Simulate maximising the window. -bind / select-layout even-vertical \; swap-pane -s top \; resize-pane -D 9999 +bind / select-layout main-horizontal \; resize-pane -D 9999 +bind M-/ select-layout tiled # Select windows. bind - choose-window bind M-0 select-window -t 10 @@ -113,7 +133,7 @@ bind { copy-mode -u # XXX: As of tmux 1.3 this doesn't work. #bind '"' choose-buffer 'show-buffer -b %%' bind '"' list-buffers \; command-prompt -p "Choose buffer to show:" 'show-buffer -b %1' -bind "'" show-buffer +bind "'" new-window -n "[buffer]" "cat > /dev/null" \; paste-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 @@ -147,6 +167,8 @@ set -g display-panes-colour colour17 # Command entry. set -g message-bg colour90 set -g message-fg white +set -g message-command-bg colour88 +set -g message-command-fg white # Active pane set -g pane-active-border-bg default set -g pane-active-border-fg white @@ -159,6 +181,14 @@ setw -g mode-fg white # Monitored windows (in reverse video). setw -g window-status-alert-bg red setw -g window-status-alert-fg white +# As of tmux 1.6 we can highlight different alerts. +setw -g window-status-bell-bg colour22 +setw -g window-status-bell-fg white +setw -g window-status-content-bg colour88 +setw -g window-status-content-fg white +setw -g window-status-content-attr none +setw -g window-status-activity-bg red +setw -g window-status-activity-fg white ################################################################################ # Caption settings.