1
0
Fork 0
mirror of https://github.com/nix-community/home-manager.git synced 2024-12-14 11:57:55 +00:00

tmux: add notes to existing keybindings (#2540) (#2742)

Adds notes to the keybindings created in the tmux config making them
show up in C-b ? and tmux list-keys -N

Fixes #2540
This commit is contained in:
Leon Vack 2022-03-20 00:12:21 +01:00 committed by GitHub
parent 7cf15b19a9
commit e96fc6d8f9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 30 additions and 22 deletions

View file

@ -49,8 +49,8 @@ let
${optionalString cfg.newSession "new-session"}
${optionalString cfg.reverseSplit ''
bind v split-window -h
bind s split-window -v
bind -N "Split the pane into two, left and right" v split-window -h
bind -N "Split the pane into two, top and bottom" s split-window -v
''}
set -g status-keys ${cfg.keyMode}
@ -58,34 +58,40 @@ let
${optionalString
(cfg.keyMode == "vi" && cfg.customPaneNavigationAndResize) ''
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
bind h -N "Select pane to the left of the active pane" select-pane -L
bind j -N "Select pane below the active pane" select-pane -D
bind k -N "Select pane above the active pane" select-pane -U
bind l -N "Select pane to the right of the active pane" select-pane -R
bind -r H resize-pane -L ${toString cfg.resizeAmount}
bind -r J resize-pane -D ${toString cfg.resizeAmount}
bind -r K resize-pane -U ${toString cfg.resizeAmount}
bind -r L resize-pane -R ${toString cfg.resizeAmount}
bind -r -N "Resize the pane left by ${toString cfg.resizeAmount}" \
H resize-pane -L ${toString cfg.resizeAmount}
bind -r -N "Resize the pane down by ${toString cfg.resizeAmount}" \
J resize-pane -D ${toString cfg.resizeAmount}
bind -r -N "Resize the pane up by ${toString cfg.resizeAmount}" \
K resize-pane -U ${toString cfg.resizeAmount}
bind -r -N "Resize the pane right by ${toString cfg.resizeAmount}" \
L resize-pane -R ${toString cfg.resizeAmount}
''}
${if cfg.prefix != null then ''
# rebind main key: ${cfg.prefix}
unbind C-${defaultShortcut}
set -g prefix ${cfg.prefix}
bind ${cfg.prefix} send-prefix
bind -N "Send the prefix key through to the application" \
${cfg.prefix} send-prefix
'' else
optionalString (cfg.shortcut != defaultShortcut) ''
# rebind main key: C-${cfg.shortcut}
unbind C-${defaultShortcut}
set -g prefix C-${cfg.shortcut}
bind ${cfg.shortcut} send-prefix
bind -N "Send the prefix key through to the application" \
${cfg.shortcut} send-prefix
bind C-${cfg.shortcut} last-window
''}
${optionalString cfg.disableConfirmationPrompt ''
bind-key & kill-window
bind-key x kill-pane
bind-key -N "Kill the current window" & kill-window
bind-key -N "Kill the current pane" x kill-pane
''}
setw -g aggressive-resize ${boolToStr cfg.aggressiveResize}

View file

@ -19,8 +19,8 @@ set -g mode-keys emacs
bind-key & kill-window
bind-key x kill-pane
bind-key -N "Kill the current window" & kill-window
bind-key -N "Kill the current pane" x kill-pane
setw -g aggressive-resize off

View file

@ -10,8 +10,8 @@ setw -g pane-base-index 0
new-session
bind v split-window -h
bind s split-window -v
bind -N "Split the pane into two, left and right" v split-window -h
bind -N "Split the pane into two, top and bottom" s split-window -v
set -g status-keys emacs

View file

@ -20,7 +20,8 @@ set -g mode-keys emacs
# rebind main key: C-a
unbind C-b
set -g prefix C-a
bind C-a send-prefix
bind -N "Send the prefix key through to the application" \
C-a send-prefix

View file

@ -20,7 +20,8 @@ set -g mode-keys emacs
# rebind main key: C-a
unbind C-b
set -g prefix C-a
bind a send-prefix
bind -N "Send the prefix key through to the application" \
a send-prefix
bind C-a last-window

View file

@ -10,8 +10,8 @@ setw -g pane-base-index 0
new-session
bind v split-window -h
bind s split-window -v
bind -N "Split the pane into two, left and right" v split-window -h
bind -N "Split the pane into two, top and bottom" s split-window -v
set -g status-keys vi