unbind C-b # remap prefix to Control + z set -g prefix C-a # bind 'C-z C-z' to type 'C-z' bind C-a send-prefix # 0 is too far from ` ;) set -g base-index 1 # Automatically set window title set-window-option -g automatic-rename on set-option -g set-titles on #set -g default-terminal screen-256color set -g status-keys vi set -g history-limit 10000 setw -g mode-keys vi #setw -g mode-mouse on setw -g monitor-activity on set -g mouse on bind-key v split-window -h -c "#{pane_current_path}" bind-key s split-window -v -c "#{pane_current_path}" bind-key c new-window -c "#{pane_current_path}" bind-key -n C-S-Left swap-window -t -1 bind-key -n C-S-Right swap-window -t +1 # bind-key J resize-pane -D 5 # bind-key K resize-pane -U 5 # bind-key H resize-pane -L 5 # bind-key L resize-pane -R 5 # bind-key M-j resize-pane -D # bind-key M-k resize-pane -U # bind-key M-h resize-pane -L # bind-key M-l resize-pane -R # Vim style pane selection bind h select-pane -L bind j select-pane -D bind k select-pane -U bind l select-pane -R bind K kill-pane -a # Use Alt-vim keys without prefix key to switch panes bind -n M-h select-pane -L bind -n M-j select-pane -D bind -n M-k select-pane -U bind -n M-l select-pane -R # bind -n M-h select-pane -L \; resize-pane -Z # bind -n M-j select-pane -D \; resize-pane -Z # bind -n M-k select-pane -U \; resize-pane -Z # bind -n M-l select-pane -R \; resize-pane -Z # # Use Alt-arrow keys without prefix key to switch panes bind -n M-Left select-pane -L bind -n M-Right select-pane -R bind -n M-Up select-pane -U bind -n M-Down select-pane -D # Shift arrow to switch windows bind -n C-Left previous-window bind -n C-Right next-window bind -n M-n previous-window bind -n M-p nejt-window # Map Alt-z to zoom in and out pane bind -n M-z resize-pane -Z bind -n M-q resize-pane -Z # # Use v to trigger selection bind-key -T copy-mode-vi v send-keys -X begin-selection # # # Use y to yank current selection bind-key -T copy-mode-vi y send-keys -X copy-selection-and-cancel # No delay for escape key press set -sg escape-time 0 # THEME set -g status-style bg=black,fg=white # set -g status-bg black # set -g status-fg white set -g window-status-current-style bg=green,fg=black,bold set -g pane-active-border-style fg=green,bg=black set -g status-interval 60 set -g status-left-length 30 set -g status-left '#[fg=green](#S) #(whoami)' set -g status-right '#[fg=yellow]#(cut -d " " -f 1-3 /proc/loadavg)#[default] #[fg=white]%H:%M#[default]' # synchronouse windows # setw synchronize-panes # pane movement bind-key b command-prompt -p "join pane from:" "join-pane -s ':%%'" bind-key a command-prompt -p "send pane to:" "join-pane -t ':%%'" # # for vim # # Smart pane switching with awareness of Vim splits. # # See: https://github.com/christoomey/vim-tmux-navigator # is_vim="ps -o state= -o comm= -t '#{pane_tty}' \ # | grep -iqE '^[^TXZ ]+ +(\\S+\\/)?g?(view|n?vim?x?)(diff)?$'" # bind-key -n C-h if-shell "$is_vim" "send-keys C-h" "select-pane -L" # bind-key -n C-j if-shell "$is_vim" "send-keys C-j" "select-pane -D" # bind-key -n C-k if-shell "$is_vim" "send-keys C-k" "select-pane -U" # bind-key -n C-l if-shell "$is_vim" "send-keys C-l" "select-pane -R" # bind-key -n C-\ if-shell "$is_vim" "send-keys C-\\" "select-pane -l" # bind-key -T copy-mode-vi C-h select-pane -L # bind-key -T copy-mode-vi C-j select-pane -D # bind-key -T copy-mode-vi C-k select-pane -U # bind-key -T copy-mode-vi C-l select-pane -R # bind-key -T copy-mode-vi C-\ select-pane -l