summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--.tmux.conf47
1 files changed, 35 insertions, 12 deletions
diff --git a/.tmux.conf b/.tmux.conf
index b7a91c9d..c202a31e 100644
--- a/.tmux.conf
+++ b/.tmux.conf
@@ -1,23 +1,36 @@
 # Use the same prefix as screen
 unbind C-b
 set -g prefix C-a
-bind C-a send-prefix
 
 # Prevent escape key delay
 set -g escape-time 0
 
 # Enable colors
-set -g default-terminal "screen-256color"
-
-# Disable status bar
-set -g status off
+set -g default-terminal 'screen-256color'
 
 # Start windows at 1 rather than 0
 set -g base-index 1
 
-# Split windows like vim
-bind s split-window -v
-bind v split-window -h
+# Tab bar status line
+set -g status-position top
+set -g status-left ' #S '
+set -g status-left-fg black
+set -g status-left-bg white
+set -g window-status-separator ''
+set -g window-status-format ' #W '
+set -g window-status-current-format ' #W '
+set -g window-status-current-fg green
+set -g window-status-current-bg black
+set -g status-right ' %Y-%m-%d %H:%M '
+set -g status-right-fg black
+set -g status-right-bg white
+
+# Create new windows in same directory
+bind t new-window -c '#{pane_current_path}'
+
+# Split windows like vim, in same directory
+bind s split-window -v -c '#{pane_current_path}'
+bind v split-window -h -c '#{pane_current_path}'
 
 # Move between panes like vim
 bind h select-pane -L
@@ -25,15 +38,25 @@ bind j select-pane -D
 bind k select-pane -U
 bind l select-pane -R
 
+# Move panes sort of like vim
+bind L swap-pane -D
+bind H swap-pane -U
+
 # Resize panes like vim
-bind < resize-pane -L 1
-bind > resize-pane -R 1
-bind - resize-pane -D 1
-bind + resize-pane -U 1
+bind -r < resize-pane -L 1
+bind -r > resize-pane -R 1
+bind -r - resize-pane -D 1
+bind -r + resize-pane -U 1
 
 # Vi-style controls for copy mode
 setw -g mode-keys vi
 
+# Copy and Paste like vim
+bind -t vi-copy v begin-selection
+bind -t vi-copy C-v rectangle-toggle
+bind -t vi-copy y copy-selection
+bind p paste-buffer
+
 # Switch panes like C-w C-w in vim
 bind C-a last-pane