Add tmux configuration
This commit is contained in:
parent
9d8b8ec1d5
commit
307cf06087
1 changed files with 102 additions and 0 deletions
102
.tmux.conf
Normal file
102
.tmux.conf
Normal file
|
@ -0,0 +1,102 @@
|
|||
# Status Bar Appearance customization
|
||||
#set -g status-bg black
|
||||
#set -g status-fg white
|
||||
set -g status-bg green
|
||||
set -g window-status-current-bg blue
|
||||
|
||||
# show that activity happens but don't display a huge 'activity happening' notification
|
||||
setw -g monitor-activity on
|
||||
set -g visual-activity off
|
||||
|
||||
# Start counting windows and panes at 1
|
||||
set -g base-index 1
|
||||
setw -g pane-base-index 1
|
||||
|
||||
# Custom modifier key
|
||||
set -g prefix C-Space
|
||||
unbind-key C-b
|
||||
bind-key C-Space send-prefix
|
||||
|
||||
# Terminal improvements
|
||||
set -g terminal-overrides "xterm*:XT:smcup@:rmcup@"
|
||||
set-window-option -g automatic-rename on
|
||||
set -g renumber-windows on
|
||||
set-option -g set-titles on
|
||||
set -g mouse on
|
||||
set -g default-terminal screen-256color
|
||||
set -g status-keys vi
|
||||
set -g history-limit 10000
|
||||
|
||||
# redraw status line every 10s
|
||||
set -g status-interval 10
|
||||
|
||||
# Clear scrollback buffer
|
||||
bind l clear-history
|
||||
|
||||
# Custom key bindings to split the window
|
||||
# split it using modifier key + v or s
|
||||
bind-key v split-window -h
|
||||
bind-key s split-window -v
|
||||
# split it w/o modifier key using - or _
|
||||
bind - split-window -v
|
||||
bind _ split-window -h
|
||||
|
||||
# Reload tmux config
|
||||
bind r source-file ~/.tmux.conf
|
||||
|
||||
# No delay for escape key press
|
||||
set -sg escape-time 0
|
||||
|
||||
# PANE SWITCHING
|
||||
# Bind-key + arrow to switch panes
|
||||
# Switch Panes with Meta (i.e. Alt) HJKL
|
||||
bind-key Left select-pane -L
|
||||
bind-key Right select-pane -R
|
||||
bind-key Up select-pane -U
|
||||
bind-key Down select-pane -D
|
||||
bind -n M-j select-pane -L
|
||||
bind -n M-k select-pane -R
|
||||
bind -n M-h select-pane -U
|
||||
bind -n M-l select-pane -D
|
||||
|
||||
# PANE CREATION
|
||||
# Bind-key + Control arrow to create panes
|
||||
# Create Panes with Control HJKL
|
||||
bind-key C-Down split-window -v
|
||||
bind-key C-Up split-window -v -b
|
||||
bind-key C-Right split-window -h
|
||||
bind-key C-Left split-window -h -b
|
||||
bind -n C-l split-window -v
|
||||
bind -n C-h split-window -v -b
|
||||
bind -n C-k split-window -h
|
||||
bind -n C-j split-window -h -b
|
||||
|
||||
# PANE SIZING
|
||||
# Resize Panes with Meta Shift HJKL
|
||||
bind -n M-J resize-pane -L 2
|
||||
bind -n M-K resize-pane -R 2
|
||||
bind -n M-L resize-pane -D 2
|
||||
bind -n M-H resize-pane -U 2
|
||||
|
||||
# WINDOW SWITCHING
|
||||
# Easier window navigation
|
||||
bind -n C-Tab next-window
|
||||
bind -n C-S-Tab previous-window
|
||||
#bind -n C-S-Left previous-window
|
||||
#bind -n C-S-Right next-window
|
||||
|
||||
# WINDOW ORGANIZATION
|
||||
# Ctrl + Alt + Left/Right to move windows
|
||||
bind-key -n C-M-Left swap-window -t -1
|
||||
bind-key -n C-M-Right swap-window -t +1
|
||||
|
||||
# Copy to cygwin clipboard
|
||||
bind -n C-t run "tmux save-buffer - > /dev/clipboard"
|
||||
|
||||
# PANE & WINDOW DESTRUCTION
|
||||
# Kill tabs quicker
|
||||
bind-key x kill-pane
|
||||
bind-key C-x kill-window
|
||||
|
||||
# Plugins
|
||||
#run-shell ~/.tmux-plugins/resurrect/resurrect.tmux
|
Loading…
Reference in a new issue