tmux: add new key bindings to manage windows/panes
This commit is contained in:
parent
56e0574d1e
commit
453b0e6b93
1 changed files with 39 additions and 25 deletions
|
@ -1,41 +1,63 @@
|
|||
set -g prefix C-space
|
||||
|
||||
#
|
||||
# Key bindings
|
||||
#
|
||||
set -g prefix C-space
|
||||
bind C-space send-prefix
|
||||
bind C-space send-prefix
|
||||
bind r source-file "$XDG_CONFIG_HOME/tmux/tmux.conf" \; display "RELOADED"
|
||||
|
||||
# Open new windows/panes with the path in current pane
|
||||
# Window/pane management (new windows/panes use the path in current pane)
|
||||
bind c new-window -c '#{pane_current_path}'
|
||||
bind | split-window -h -c '#{pane_current_path}'
|
||||
bind - split-window -v -c '#{pane_current_path}'
|
||||
bind x kill-pane
|
||||
bind X kill-window
|
||||
bind r source-file "$XDG_CONFIG_HOME/tmux/tmux.conf"
|
||||
bind . next-window
|
||||
bind , previous-window
|
||||
bind n command-prompt 'rename-window %%'
|
||||
bind N command-prompt 'rename-session %%'
|
||||
|
||||
# Move around
|
||||
bind . next-window
|
||||
bind , previous-window
|
||||
bind h select-pane -L
|
||||
bind j select-pane -D
|
||||
bind k select-pane -U
|
||||
bind l select-pane -R
|
||||
|
||||
# Resize panes
|
||||
bind -r C-h resize-pane -L 5
|
||||
bind -r C-j resize-pane -D 5
|
||||
bind -r C-k resize-pane -U 5
|
||||
bind -r C-l resize-pane -R 5
|
||||
|
||||
unbind-key -T copy-mode-vi MouseDragEnd1Pane # Stay in copy mode on drag end
|
||||
# Arrangement of panes
|
||||
bind b break-pane \; select-pane -m \; last-window
|
||||
bind J join-pane -v
|
||||
bind L join-pane -h
|
||||
|
||||
# Choosing layouts
|
||||
bind -r C-o rotate-window
|
||||
bind -r C-i rotate-window -D
|
||||
|
||||
bind -r space next-layout
|
||||
bind C-m set main-pane-width 50% \; select-layout main-vertical
|
||||
bind C-e select-layout even-horizontal
|
||||
bind C-t select-layout tiled
|
||||
|
||||
# Stay in copy mode on drag end
|
||||
unbind-key -T copy-mode-vi MouseDragEnd1Pane
|
||||
|
||||
#
|
||||
# General
|
||||
#
|
||||
set -gs escape-time 50 # avoid delays with ESC in vim
|
||||
set -gs repeat-time 1000 # allow 1 second for multiple commands
|
||||
set -g base-index 1 # start window numbering from 1
|
||||
set -g history-limit 20000 # remember longer history
|
||||
setw -g automatic-rename on # automatically rename windows
|
||||
setw -g mouse on # enable mouse support
|
||||
setw -g pane-base-index 1 # start pane numbering from 1
|
||||
|
||||
|
||||
# Set $TERM and force 256 colors.
|
||||
# https://github.com/tmux/tmux/wiki/FAQ#how-do-i-use-a-256-colour-terminal
|
||||
set -g default-terminal 'screen-256color'
|
||||
|
@ -64,24 +86,16 @@ set -g status-right-length 48
|
|||
set -g status-justify centre
|
||||
|
||||
# Color definitions
|
||||
# SOLARIZED TMUX
|
||||
# --------- --------
|
||||
# Base03 colour8
|
||||
# Base02 colour0
|
||||
# Base01 colour10
|
||||
# Base00 colour11
|
||||
# Base0 colour12
|
||||
# Base1 colour14
|
||||
# Base2 colour7
|
||||
# Base3 colour15
|
||||
# Yellow colour3
|
||||
# Orange colour9
|
||||
# Red colour1
|
||||
# Magenta colour5
|
||||
# Violet colour13
|
||||
# Blue colour4
|
||||
# Cyan colour6
|
||||
# Green colour2
|
||||
# SOLARIZED TMUX SOLARIZED TMUX
|
||||
# --------- -------- --------- --------
|
||||
# Base03 colour8 Yellow colour3
|
||||
# Base02 colour0 Orange colour9
|
||||
# Base01 colour10 Red colour1
|
||||
# Base00 colour11 Magenta colour5
|
||||
# Base0 colour12 Violet colour13
|
||||
# Base1 colour14 Blue colour4
|
||||
# Base2 colour7 Cyan colour6
|
||||
# Base3 colour15 Green colour2
|
||||
|
||||
set -g status-left "\
|
||||
#{?client_prefix,#[fg=colour1],#[fg=colour10]}\
|
||||
|
|
Loading…
Add table
Reference in a new issue