dotfiles/home/user/.config/tmux/mappings.conf
2024-03-30 21:46:16 +03:00

94 lines
2.2 KiB
Plaintext

# vim: ft=tmux
set -g prefix C-b
# Toggle local tmux mappings to allow control remote tmux
bind -T root F12 \
set prefix None \;\
set key-table off \;\
set status off
bind -T off F12 \
set -u prefix \;\
set -u key-table \;\
set status on
# Zoom pane
bind -n M-f resize-pane -Z
# Panes navigation
bind -n M-h select-pane -L
bind -n M-l select-pane -R
bind -n M-j select-pane -D
bind -n M-k select-pane -U
# Windows navigation
bind -n C-M-h previous-window
bind -n C-M-l next-window
bind -n M-Tab last-window
bind -n M-1 new-window -n 1 -S
bind -n M-2 new-window -n 2 -S
bind -n M-3 new-window -n 3 -S
bind -n M-4 new-window -n 4 -S
bind -n M-5 new-window -n 5 -S
bind -n M-6 new-window -n 6 -S
bind -n M-7 new-window -n 7 -S
bind -n M-8 new-window -n 8 -S
bind -n M-9 new-window -n 9 -S
bind -n M-0 new-window -n 10 -S
# Windows splitting
bind -n M-Enter split-window -h -c "#{pane_current_path}"
bind | split-window -h -c "#{pane_current_path}"
bind \\ split-window -v -c "#{pane_current_path}"
# Resizing
bind -n C-M-l resize-pane -R
bind -n C-M-h resize-pane -L
bind -n C-M-j resize-pane -D
bind -n C-M-k resize-pane -U
# Copy mode
setw -g mode-keys vi
bind-key v copy-mode
bind p paste-buffer
bind -T copy-mode-vi v send-keys -X begin-selection
bind -T copy-mode-vi c send-keys -X clear-selection
bind -T copy-mode-vi y send-keys -X copy-selection
bind -T copy-mode-vi C-v send-keys -X rectangle-toggle
bind -T copy-mode-vi Escape send-keys -X cancel
bind -T copy-mode-vi C-c send-keys -X cancel
bind -T copy-mode-vi q send-keys -X cancel
# Lock screen
bind-key -T prefix l confirm-before -p "lock tmux? (y/n)" lock-session
# Reload config
bind r source-file ~/.config/tmux/tmux.conf \; display-message "Config reloaded..."
# SSH session
bind h command-prompt -p "Remote host:" "new-session -n 1 -s 'ssh-%1' -A ssh %1 \; set-option default-command 'ssh %1'"
# Session managment
bind 1 run-shell ~/.tmux/01.sh
bind 2 run-shell ~/.tmux/02.sh
bind 3 run-shell ~/.tmux/03.sh
bind 4 run-shell ~/.tmux/04.sh
bind 5 run-shell ~/.tmux/05.sh
bind 6 run-shell ~/.tmux/06.sh
bind 7 run-shell ~/.tmux/07.sh
bind 8 run-shell ~/.tmux/08.sh
bind 9 run-shell ~/.tmux/09.sh
bind 0 run-shell ~/.tmux/10.sh
# Unbinds
unbind-key w