mirror of
https://github.com/samoshkin/tmux-config.git
synced 2026-01-05 09:18:01 +00:00
Fix pane resizing. Add info about iTerm2 and tmux integration
This commit is contained in:
@@ -33,6 +33,32 @@ set -g mouse on
|
||||
# === Key bindings ===
|
||||
# ==========================
|
||||
|
||||
# Unbind default key bindings, we're going to override
|
||||
unbind "\$" # rename-session
|
||||
unbind , # rename-window
|
||||
unbind % # split-window -h
|
||||
unbind '"' # split-window
|
||||
unbind } # swap-pane -D
|
||||
unbind { # swap-pane -U
|
||||
unbind [ # paste-buffer
|
||||
unbind ]
|
||||
unbind "'" # select-window
|
||||
unbind n # next-window
|
||||
unbind p # previous-window
|
||||
unbind l # last-window
|
||||
unbind M-n # next window with alert
|
||||
unbind M-p # next window with alert
|
||||
unbind o # focus thru panes
|
||||
unbind & # kill-window
|
||||
unbind "#" # list-buffer
|
||||
unbind = # choose-buffer
|
||||
unbind z # zoom-pane
|
||||
unbind M-Up # resize 5 rows up
|
||||
unbind M-Down # resize 5 rows down
|
||||
unbind M-Right # resize 5 rows right
|
||||
unbind M-Left # resize 5 rows left
|
||||
|
||||
|
||||
# Edit configuration and reload
|
||||
bind C-e new-window -n 'tmux.conf' "sh -c '\${EDITOR:-vim} ~/.tmux.conf && tmux source ~/.tmux.conf && tmux display \"Config reloaded\"'"
|
||||
|
||||
@@ -40,34 +66,23 @@ bind C-e new-window -n 'tmux.conf' "sh -c '\${EDITOR:-vim} ~/.tmux.conf && tmux
|
||||
bind C-r source-file ~/.tmux.conf \; display "Config reloaded"
|
||||
|
||||
# Rename session and window
|
||||
unbind "\$"
|
||||
unbind ,
|
||||
bind r command-prompt -I "#{window_name}" "rename-window '%%'"
|
||||
bind R command-prompt -I "#{session_name}" "rename-session '%%'"
|
||||
|
||||
# Split panes
|
||||
unbind %
|
||||
unbind '"'
|
||||
bind | split-window -h
|
||||
bind _ split-window -v
|
||||
|
||||
# Select windows
|
||||
unbind }
|
||||
unbind {
|
||||
unbind "'"
|
||||
unbind n
|
||||
unbind p
|
||||
unbind l
|
||||
unbind M-n
|
||||
unbind M-p
|
||||
bind -r < previous-window
|
||||
bind -r > next-window
|
||||
bind -r M-< previous-window -a # prev window with alert
|
||||
bind -r M-> next-window -a # next window with alert
|
||||
bind -r Tab last-window # cycle thru MRU tabs
|
||||
bind W command-prompt -p "go to window #" "select-window -t ':%%'"
|
||||
# Select pane and windows
|
||||
bind -r C-[ previous-window
|
||||
bind -r C-] next-window
|
||||
bind -r [ select-pane -t :.-
|
||||
bind -r ] select-pane -t :.+
|
||||
bind -r Tab last-window # cycle thru MRU tabs
|
||||
bind -r C-o swap-pane -D
|
||||
|
||||
# TODO: fix pane resizing
|
||||
# Zoom pane
|
||||
bind + resize-pane -Z
|
||||
|
||||
# Link window
|
||||
bind L command-prompt -p "Link window from (session:window): " "link-window -s %% -a"
|
||||
@@ -78,17 +93,11 @@ bind \ if '[ #{pane_index} -eq 1 ]' \
|
||||
'swap-pane -s "!"' \
|
||||
'select-pane -t:.1 ; swap-pane -d -t 1 -s "!"'
|
||||
|
||||
# select/swap panes (counter)clockwise
|
||||
bind -r o select-pane -t :.+
|
||||
bind -r O select-pane -t :.-
|
||||
bind -r C-o swap-pane -D
|
||||
|
||||
# Kill pane/window/session shortcuts
|
||||
unbind &
|
||||
bind x kill-pane
|
||||
bind X kill-window
|
||||
bind C-x confirm-before -p "kill other windows? (y/n)" "kill-window -a"
|
||||
bind C-q confirm-before -p "kill-session #S? (y/n)" kill-session
|
||||
bind Q confirm-before -p "kill-session #S? (y/n)" kill-session
|
||||
|
||||
# Merge session with another one (e.g. move all windows)
|
||||
# If you use adhoc 1-window sessions, and you want to preserve session upon exit
|
||||
@@ -127,20 +136,15 @@ set -g visual-activity on
|
||||
# ================================
|
||||
# === Copy and scroll ===
|
||||
# ================================
|
||||
unbind "#" # list-buffer
|
||||
unbind = # choose-buffer
|
||||
unbind ] # paste-buffer
|
||||
|
||||
# Prefer vi style key table
|
||||
setw -g mode-keys vi
|
||||
|
||||
# trigger copy mode by
|
||||
bind PageUp copy-mode
|
||||
bind Escape copy-mode
|
||||
|
||||
bind p paste-buffer
|
||||
bind C-p choose-buffer
|
||||
|
||||
# trigger copy mode by
|
||||
bind -n M-Up copy-mode
|
||||
|
||||
# Scroll up/down by 1 line, half screen, whole screen
|
||||
bind -T copy-mode-vi M-Up send-keys -X scroll-up
|
||||
bind -T copy-mode-vi M-Down send-keys -X scroll-down
|
||||
@@ -158,10 +162,6 @@ bind -T copy-mode-vi WheelDownPane select-pane \; send-keys -X -N 2 scroll-d
|
||||
unbind -T copy-mode-vi MouseDragEnd1Pane
|
||||
bind -T copy-mode-vi MouseDown1Pane select-pane \; send-keys -X copy-selection
|
||||
|
||||
# Zoom pane
|
||||
unbind z
|
||||
bind + resize-pane -Z
|
||||
|
||||
|
||||
|
||||
# =====================================
|
||||
|
||||
Reference in New Issue
Block a user