Make sure escape sequences don't leak into the prompt.
[profile.git] / .tmux.conf
index d85e935..9b915df 100644 (file)
@@ -31,8 +31,6 @@ 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
@@ -66,13 +64,18 @@ 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 C-o swap-pane -D
+bind O swap-pane -U
+bind w command-prompt -p "Select [<window>.]<pane> 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.
 bind b break-pane
 # Split another pane into this window.
-bind B command-prompt -p "Select [<window>.]<pane> to join:" 'join-pane -s %1'
+bind B command-prompt -p "Select <window>[.<pane>] to join:" 'join-pane -s %1'
 # Split vertically.
 bind C-\ split-window -v
 # Next pane.
@@ -84,8 +87,18 @@ bind . select-layout even-vertical
 bind , select-layout tiled
 # Simulate maximising the window.
 bind / select-layout even-vertical \; swap-pane -s top \; resize-pane -D 9999
-# Show windows
-bind - list-windows
+# Select windows.
+bind - choose-window
+bind M-0 select-window -t 10
+bind M-1 select-window -t 11
+bind M-2 select-window -t 12
+bind M-3 select-window -t 13
+bind M-4 select-window -t 14
+bind M-5 select-window -t 15
+bind M-6 select-window -t 16
+bind M-7 select-window -t 17
+bind M-8 select-window -t 18
+bind M-9 select-window -t 19
 # Set current window title.
 bind t command-prompt -p "Set window's title to:" 'rename-window %1'
 # Show clock.