X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=.zsh%2Fzshrc%2F80_zle;h=d86a2ced3d0358623e909c0d6a0d23bd71b9a927;hb=ec83ec7d3d1c4e4066c6333f26e6f798efb2d491;hp=bdcdfd9934a76f4c4d5610eb3d2d03d8eafdc0bb;hpb=0f229aed589c6c0dc2a31a8d0e81d388a9ae4cb6;p=zsh.git diff --git a/.zsh/zshrc/80_zle b/.zsh/zshrc/80_zle index bdcdfd9..d86a2ce 100644 --- a/.zsh/zshrc/80_zle +++ b/.zsh/zshrc/80_zle @@ -1,3 +1,4 @@ +# -*- mode: sh -*- # zshrc/80_zle # # Configure the zsh line editor @@ -21,6 +22,35 @@ bindkey '\ee' edit-command-line _insert_datestamp() { LBUFFER+=${(%):-'%D{%Y.%m.%d}'}:; } zle -N insert-datestamp _insert_datestamp -bindkey '^t' insert-datestamp +bindkey '\et' insert-datestamp + +# prefix search (up to cursor position) +autoload history-search-end +zle -N history-beginning-search-backward-end history-search-end +zle -N history-beginning-search-forward-end history-search-end +bindkey "\e[5~" history-beginning-search-backward-end # PageUp +bindkey "\e[6~" history-beginning-search-forward-end # PageDown + +_insert_last_typed_word() { zle insert-last-word -- 0 -1 }; +zle -N _insert_last_typed_word; +bindkey "\em" _insert_last_typed_word + +autoload insert-unicode-char +zle -N insert-unicode-char +bindkey '^Xi' insert-unicode-char + +# jump behind the first word on the cmdline to add options +function _jump_after_first_word() { + local words + words=(${(z)BUFFER}) + + if (( ${#words} <= 1 )) ; then + CURSOR=${#BUFFER} + else + CURSOR=${#${words[1]}} + fi +} +zle -N _jump_after_first_word +bindkey '^x1' _jump_after_first_word # vim:ft=zsh