X-Git-Url: https://git.madduck.net/etc/zsh.git/blobdiff_plain/e7aef48f33e934106d1a50201d9f098f9886d7ec..e45b0db3d66ca9e041622db3d801d026fb4d3724:/.zsh/zshrc/80_zle diff --git a/.zsh/zshrc/80_zle b/.zsh/zshrc/80_zle index da99e0c..ca59e4e 100644 --- a/.zsh/zshrc/80_zle +++ b/.zsh/zshrc/80_zle @@ -2,10 +2,10 @@ # # Configure the zsh line editor # -# Copyright © 1994–2008 martin f. krafft +# Copyright © 1994–2017 martin f. krafft # Released under the terms of the Artistic Licence 2.0 # -# Source repository: git://git.madduck.net/etc/zsh.git +# Source repository: http://git.madduck.net/v/etc/zsh.git # # automatically escape URLs @@ -14,4 +14,42 @@ autoload -U url-quote-magic zle -N self-insert url-quote-magic setopt no_nomatch +# http://www.zsh.org/mla/users/2006/msg00399.html +autoload edit-command-line +zle -N edit-command-line +bindkey '\ee' edit-command-line + +_insert_datestamp() { LBUFFER+=${(%):-'%D{%Y.%m.%d}'}:; } +zle -N insert-datestamp _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