diff --git a/keyboard.zsh b/keyboard.zsh index 590ab7c..cb583b0 100644 --- a/keyboard.zsh +++ b/keyboard.zsh @@ -24,57 +24,57 @@ keyinfo=( 'Control' '\C-' 'Escape' '\e' 'Meta' '\M-' - 'F1' "${terminfo[kf1]}" - 'F2' "${terminfo[kf2]}" - 'F3' "${terminfo[kf3]}" - 'F4' "${terminfo[kf4]}" - 'F5' "${terminfo[kf5]}" - 'F6' "${terminfo[kf6]}" - 'F7' "${terminfo[kf7]}" - 'F8' "${terminfo[kf8]}" - 'F9' "${terminfo[kf9]}" - 'F10' "${terminfo[kf10]}" - 'F11' "${terminfo[kf11]}" - 'F12' "${terminfo[kf12]}" - 'Backspace' "${terminfo[kbs]}" - 'Insert' "${terminfo[kich1]}" - 'Home' "${terminfo[khome]}" - 'PageUp' "${terminfo[kpp]}" - 'Delete' "${terminfo[kdch1]}" - 'End' "${terminfo[kend]}" - 'PageDown' "${terminfo[knp]}" - 'Up' "${terminfo[kcuu1]}" - 'Left' "${terminfo[kcub1]}" - 'Down' "${terminfo[kcud1]}" - 'Right' "${terminfo[kcuf1]}" - 'BackTab' "${terminfo[kcbt]}" + 'F1' "$terminfo[kf1]" + 'F2' "$terminfo[kf2]" + 'F3' "$terminfo[kf3]" + 'F4' "$terminfo[kf4]" + 'F5' "$terminfo[kf5]" + 'F6' "$terminfo[kf6]" + 'F7' "$terminfo[kf7]" + 'F8' "$terminfo[kf8]" + 'F9' "$terminfo[kf9]" + 'F10' "$terminfo[kf10]" + 'F11' "$terminfo[kf11]" + 'F12' "$terminfo[kf12]" + 'Backspace' "$terminfo[kbs]" + 'Insert' "$terminfo[kich1]" + 'Home' "$terminfo[khome]" + 'PageUp' "$terminfo[kpp]" + 'Delete' "$terminfo[kdch1]" + 'End' "$terminfo[kend]" + 'PageDown' "$terminfo[knp]" + 'Up' "$terminfo[kcuu1]" + 'Left' "$terminfo[kcub1]" + 'Down' "$terminfo[kcud1]" + 'Right' "$terminfo[kcuf1]" + 'BackTab' "$terminfo[kcbt]" ) if [[ "$KEYMAP" == (emacs|) ]]; then # Use Emacs key bindings. bindkey -e - bindkey "${keyinfo[Escape]}b" emacs-backward-word - bindkey "${keyinfo[Escape]}f" emacs-forward-word - bindkey "${keyinfo[Escape]}${keyinfo[Left]}" emacs-backward-word - bindkey "${keyinfo[Escape]}${keyinfo[Right]}" emacs-forward-word + bindkey "$keyinfo[Escape]b" emacs-backward-word + bindkey "$keyinfo[Escape]f" emacs-forward-word + bindkey "$keyinfo[Escape]$keyinfo[Left]" emacs-backward-word + bindkey "$keyinfo[Escape]$keyinfo[Right]" emacs-forward-word # Kill to the beginning of the line. - bindkey "${keyinfo[Control]}u" backward-kill-line + bindkey "$keyinfo[Control]u" backward-kill-line # Kill to the beginning of the word. - bindkey "${keyinfo[Control]}w" backward-kill-word + bindkey "$keyinfo[Control]w" backward-kill-word # Undo/Redo - bindkey "${keyinfo[Control]}_" undo - bindkey "${keyinfo[Escape]}_" redo + bindkey "$keyinfo[Control]_" undo + bindkey "$keyinfo[Escape]_" redo # Search character. - bindkey "${keyinfo[Control]}]" vi-find-next-char - bindkey "${keyinfo[Escape]}${keyinfo[Control]}]" vi-find-prev-char + bindkey "$keyinfo[Control]]" vi-find-next-char + bindkey "$keyinfo[Escape]$keyinfo[Control]]" vi-find-prev-char # Edit command in an external editor. - bindkey "${keyinfo[Control]}x${keyinfo[Control]}e" edit-command-line + bindkey "$keyinfo[Control]x$keyinfo[Control]e" edit-command-line # Expand .... to ../.. if check-bool "$DOT_EXPANSION"; then @@ -83,12 +83,12 @@ if [[ "$KEYMAP" == (emacs|) ]]; then # Bind to history substring search plugin if enabled; # otherwise, bind to built-in ZSH history search. - if (( ${+widgets[history-incremental-pattern-search-backward]} )); then - bindkey "${keyinfo[Control]}r" history-incremental-pattern-search-backward - bindkey "${keyinfo[Control]}s" history-incremental-pattern-search-forward + if (( $+widgets[history-incremental-pattern-search-backward] )); then + bindkey "$keyinfo[Control]r" history-incremental-pattern-search-backward + bindkey "$keyinfo[Control]s" history-incremental-pattern-search-forward else - bindkey "${keyinfo[Control]}r" history-incremental-search-backward - bindkey "${keyinfo[Control]}s" history-incremental-search-forward + bindkey "$keyinfo[Control]r" history-incremental-search-backward + bindkey "$keyinfo[Control]s" history-incremental-search-forward fi elif [[ "$KEYMAP" == 'vi' ]]; then # Use vi key bindings. @@ -136,7 +136,7 @@ elif [[ "$KEYMAP" == 'vi' ]]; then # Undo/Redo bindkey -M vicmd "u" undo - bindkey -M vicmd "${keyinfo[Control]}r" redo + bindkey -M vicmd "$keyinfo[Control]r" redo # Expand .... to ../.. if check-bool "$DOT_EXPANSION"; then @@ -148,21 +148,21 @@ elif [[ "$KEYMAP" == 'vi' ]]; then bindkey -M viins "kj" vi-cmd-mode # Emacs key bindings in insert mode. - bindkey -M viins "${keyinfo[Control]}a" beginning-of-line - bindkey -M viins "${keyinfo[Control]}b" backward-char - bindkey -M viins "${keyinfo[Escape]}b" emacs-backward-word - bindkey -M viins "${keyinfo[Control]}d" delete-char-or-list - bindkey -M viins "${keyinfo[Escape]}d" kill-word - bindkey -M viins "${keyinfo[Control]}e" end-of-line - bindkey -M viins "${keyinfo[Control]}f" forward-char - bindkey -M viins "${keyinfo[Escape]}f" emacs-forward-word - bindkey -M viins "${keyinfo[Control]}k" kill-line - bindkey -M viins "${keyinfo[Control]}u" backward-kill-line - bindkey -M viins "${keyinfo[Control]}w" backward-kill-word - bindkey -M viins "${keyinfo[Escape]}w" copy-region-as-kill - bindkey -M viins "${keyinfo[Escape]}h" run-help - bindkey -M viins "${keyinfo[Escape]}${keyinfo[Left]}" emacs-backward-word - bindkey -M viins "${keyinfo[Escape]}${keyinfo[Right]}" emacs-forward-word + bindkey -M viins "$keyinfo[Control]a" beginning-of-line + bindkey -M viins "$keyinfo[Control]b" backward-char + bindkey -M viins "$keyinfo[Escape]b" emacs-backward-word + bindkey -M viins "$keyinfo[Control]d" delete-char-or-list + bindkey -M viins "$keyinfo[Escape]d" kill-word + bindkey -M viins "$keyinfo[Control]e" end-of-line + bindkey -M viins "$keyinfo[Control]f" forward-char + bindkey -M viins "$keyinfo[Escape]f" emacs-forward-word + bindkey -M viins "$keyinfo[Control]k" kill-line + bindkey -M viins "$keyinfo[Control]u" backward-kill-line + bindkey -M viins "$keyinfo[Control]w" backward-kill-word + bindkey -M viins "$keyinfo[Escape]w" copy-region-as-kill + bindkey -M viins "$keyinfo[Escape]h" run-help + bindkey -M viins "$keyinfo[Escape]$keyinfo[Left]" emacs-backward-word + bindkey -M viins "$keyinfo[Escape]$keyinfo[Right]" emacs-forward-word # History bindkey -M vicmd "gg" beginning-of-history @@ -178,20 +178,20 @@ elif [[ "$KEYMAP" == 'vi' ]]; then bindkey -M vicmd "j" down-line-or-history fi - if (( ${+widgets[history-incremental-pattern-search-backward]} )); then + if (( $+widgets[history-incremental-pattern-search-backward] )); then bindkey -M vicmd "?" history-incremental-pattern-search-backward bindkey -M vicmd "/" history-incremental-pattern-search-forward # Emacs key bindings in insert mode. - bindkey -M viins "${keyinfo[Control]}r" history-incremental-pattern-search-backward - bindkey -M viins "${keyinfo[Control]}s" history-incremental-pattern-search-forward + bindkey -M viins "$keyinfo[Control]r" history-incremental-pattern-search-backward + bindkey -M viins "$keyinfo[Control]s" history-incremental-pattern-search-forward else bindkey -M vicmd "?" history-incremental-search-backward bindkey -M vicmd "/" history-incremental-search-forward # Emacs key bindings in insert mode. - bindkey -M viins "${keyinfo[Control]}r" history-incremental-search-backward - bindkey -M viins "${keyinfo[Control]}s" history-incremental-search-forward + bindkey -M viins "$keyinfo[Control]r" history-incremental-search-backward + bindkey -M viins "$keyinfo[Control]s" history-incremental-search-forward fi else echo "oh-my-zsh: KEYMAP must be set 'emacs' or 'vi' but is set to '$KEYMAP'" >&2 @@ -199,45 +199,45 @@ else fi # The next key bindings are for both Emacs and Vi. -bindkey "${keyinfo[Home]}" beginning-of-line -bindkey "${keyinfo[End]}" end-of-line +bindkey "$keyinfo[Home]" beginning-of-line +bindkey "$keyinfo[End]" end-of-line -bindkey "${keyinfo[Insert]}" overwrite-mode -bindkey "${keyinfo[Delete]}" delete-char -bindkey "${keyinfo[Backspace]}" backward-delete-char +bindkey "$keyinfo[Insert]" overwrite-mode +bindkey "$keyinfo[Delete]" delete-char +bindkey "$keyinfo[Backspace]" backward-delete-char -bindkey "${keyinfo[Left]}" backward-char -bindkey "${keyinfo[Right]}" forward-char +bindkey "$keyinfo[Left]" backward-char +bindkey "$keyinfo[Right]" forward-char # Expand history on space. bindkey ' ' magic-space if (( $+plugins[(er)history-substring-search] )); then - bindkey "${keyinfo[Up]}" history-substring-search-up - bindkey "${keyinfo[Down]}" history-substring-search-down - bindkey "${keyinfo[Control]}p" history-substring-search-up - bindkey "${keyinfo[Control]}n" history-substring-search-down + bindkey "$keyinfo[Up]" history-substring-search-up + bindkey "$keyinfo[Down]" history-substring-search-down + bindkey "$keyinfo[Control]p" history-substring-search-up + bindkey "$keyinfo[Control]n" history-substring-search-down else - bindkey "${keyinfo[Up]}" up-line-or-history - bindkey "${keyinfo[Down]}" down-line-or-history - bindkey "${keyinfo[Control]}p" up-line-or-history - bindkey "${keyinfo[Control]}n" down-line-or-history + bindkey "$keyinfo[Up]" up-line-or-history + bindkey "$keyinfo[Down]" down-line-or-history + bindkey "$keyinfo[Control]p" up-line-or-history + bindkey "$keyinfo[Control]n" down-line-or-history fi # Clear screen. -bindkey "${keyinfo[Control]}l" clear-screen +bindkey "$keyinfo[Control]l" clear-screen # Expand command name to full path. -bindkey "${keyinfo[Escape]}e" expand-cmd-path +bindkey "$keyinfo[Escape]e" expand-cmd-path # Duplicate the previous word. -bindkey "${keyinfo[Escape]}m" copy-prev-shell-word +bindkey "$keyinfo[Escape]m" copy-prev-shell-word # Bind Shift + Tab to go to the previous menu item. -bindkey "${keyinfo[BackTab]}" reverse-menu-complete +bindkey "$keyinfo[BackTab]" reverse-menu-complete # Complete in the middle of word. -bindkey "${keyinfo[Control]}i" expand-or-complete-prefix +bindkey "$keyinfo[Control]i" expand-or-complete-prefix # Convert .... to ../.. automatically. if check-bool "$DOT_EXPANSION"; then @@ -263,6 +263,6 @@ if check-bool "$COMPLETION_INDICATOR"; then zle redisplay } zle -N expand-or-complete-prefix-with-indicator - bindkey "${keyinfo[Control]}i" expand-or-complete-prefix-with-indicator + bindkey "$keyinfo[Control]i" expand-or-complete-prefix-with-indicator fi