Skip to content

Instantly share code, notes, and snippets.

@oca159
Last active May 11, 2018 03:14

Revisions

  1. oca159 revised this gist May 11, 2018. 1 changed file with 0 additions and 2 deletions.
    2 changes: 0 additions & 2 deletions keybindings.txt
    Original file line number Diff line number Diff line change
    @@ -38,5 +38,3 @@ if (( ${+terminfo[smkx]} )) && (( ${+terminfo[rmkx]} )); then
    zle -N zle-line-init
    zle -N zle-line-finish
    fi

    [05/08/18 16:21] Cordova, Osvaldo: ty
  2. oca159 created this gist May 10, 2018.
    42 changes: 42 additions & 0 deletions keybindings.txt
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,42 @@
    # http://zshwiki.org/home/zle/bindkeys#reading_terminfo
    # create a zkbd compatible hash;
    # to add other keys to this hash, see: man 5 terminfo
    typeset -A key

    key[Home]="$terminfo[khome]"
    key[End]="$terminfo[kend]"
    key[Insert]="$terminfo[kich1]"
    key[Backspace]="$terminfo[kbs]"
    key[Delete]="$terminfo[kdch1]"
    key[Up]="$terminfo[kcuu1]"
    key[Down]="$terminfo[kcud1]"
    key[Left]="$terminfo[kcub1]"
    key[Right]="$terminfo[kcuf1]"
    key[PageUp]="$terminfo[kpp]"
    key[PageDown]="$terminfo[knp]"

    # setup key accordingly
    [[ -n "$key[Home]" ]] && bindkey -- "$key[Home]" beginning-of-line
    [[ -n "$key[End]" ]] && bindkey -- "$key[End]" end-of-line
    [[ -n "$key[Insert]" ]] && bindkey -- "$key[Insert]" overwrite-mode
    [[ -n "$key[Backspace]" ]] && bindkey -- "$key[Backspace]" backward-delete-char
    [[ -n "$key[Delete]" ]] && bindkey -- "$key[Delete]" delete-char
    [[ -n "$key[Up]" ]] && bindkey -- "$key[Up]" up-line-or-history
    [[ -n "$key[Down]" ]] && bindkey -- "$key[Down]" down-line-or-history
    [[ -n "$key[Left]" ]] && bindkey -- "$key[Left]" backward-char
    [[ -n "$key[Right]" ]] && bindkey -- "$key[Right]" forward-char

    # Finally, make sure the terminal is in application mode, when zle is
    # active. Only then are the values from $terminfo valid.
    if (( ${+terminfo[smkx]} )) && (( ${+terminfo[rmkx]} )); then
    function zle-line-init () {
    echoti smkx
    }
    function zle-line-finish () {
    echoti rmkx
    }
    zle -N zle-line-init
    zle -N zle-line-finish
    fi

    [05/08/18 16:21] Cordova, Osvaldo: ty