X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=etc%2Fzsh%2Fzshrc;h=795cc378dfb3e94f148f171e3b04adbb200464d0;hb=f3ebf5345a94311fa0322e510d485e3b03b77cea;hp=68acd4eb49a90f33fdc54d23dffcf67fbce55e45;hpb=53771baf11d825d6a31cbac333f2bbb3e4277c55;p=grml-etc-core.git diff --git a/etc/zsh/zshrc b/etc/zsh/zshrc index 68acd4e..795cc37 100644 --- a/etc/zsh/zshrc +++ b/etc/zsh/zshrc @@ -406,6 +406,7 @@ check_com() { salias() { emulate -L zsh local only=0 ; local multi=0 + local key val while [[ $1 == -* ]] ; do case $1 in (-o) only=1 ;; @@ -596,7 +597,7 @@ typeset -U path cdpath fpath manpath # Load a few modules is4 && \ -for mod in complist deltochar mathfunc ; do +for mod in parameter complist deltochar mathfunc ; do zmodload -i zsh/${mod} 2>/dev/null || print "Notice: no ${mod} available :(" done @@ -1040,15 +1041,14 @@ zleiab() { LBUFFER+=${abk[$MATCH]:-$MATCH} } -zle -N zleiab && bindkey ",." zleiab ## KEYB! +zle -N zleiab help-show-abk() { zle -M "$(print "Type ,. after these abbreviations to expand them:"; print -a -C 2 ${(kv)abk})" } -#k# Display list of abbreviations that expand when followed by ,. -zle -N help-show-abk && bindkey '^xb' help-show-abk ## KEYB! +zle -N help-show-abk # press "ctrl-e d" to insert the actual date in the form yyyy-mm-dd insert-datestamp() { LBUFFER+=${(%):-'%D{%Y-%m-%d}'}; } @@ -1128,7 +1128,7 @@ inplaceMkDirs() { } #k# mkdir -p from string under cursor or marked area -zle -N inplaceMkDirs && bindkey '^xM' inplaceMkDirs ## KEYB! +zle -N inplaceMkDirs #v1# set number of lines to display per page HELP_LINES_PER_PAGE=20 @@ -1249,8 +1249,7 @@ help-zle() help_zle_sln=$((help_zle_sln + HELP_LINES_PER_PAGE)) zle -M "${(F)help_zle_lines[sln,help_zle_sln-1]}" } -#k# display help for keybindings and ZLE -zle -N help-zle && bindkey '^xz' help-zle # note: cycle pages with consecutive use of '^xz' ## KEYB! +zle -N help-zle ## complete word from currently visible Screen or Tmux buffer. if check_com -c screen || check_com -c tmux; then @@ -1292,7 +1291,7 @@ function zrcautozle() { } function zrcgotwidget() { - (( ${+widgets[$i]} )) + (( ${+widgets[$1]} )) } function zrcgotkeymap() { @@ -1315,7 +1314,7 @@ zstyle ':completion:hist-complete:*' completer _history typeset -ga grml_missing_features function zrcbindkey() { - if (( ARGC && ${+widgets[${argv[-1]}]} )); then + if (( ARGC )) && zrcgotwidget ${argv[-1]}; then bindkey "$@" fi } @@ -1394,6 +1393,7 @@ bind2maps viins vicmd -- Right vi-forward-char bind2maps viins vicmd -- Right vi-forward-char if zrcgotkeymap menuselect; then + #m# k Shift-tab Perform backwards menu completion bind2maps menuselect -- BackTab reverse-menu-complete #k# menu selection: pick item but stay in the menu @@ -1408,6 +1408,13 @@ if zrcgotkeymap menuselect; then zrcbindkey -M menuselect '^o' accept-and-infer-next-history fi +#k# Display list of abbreviations that expand when followed by ,. +zrcbindkey ",." zleiab +zrcbindkey '^xb' help-show-abk +zrcbindkey '^xM' inplaceMkDirs +#k# display help for keybindings and ZLE +zrcbindkey '^xz' help-zle + #k# Insert files and test globbing zrcbindkey "^xf" insert-files # C-x-f @@ -1438,13 +1445,6 @@ zrcbindkey "\e[6~" history-beginning-search-forward-end # PageDown #k# Insert Unicode character zrcbindkey '^xi' insert-unicode-char -#m# k Shift-tab Perform backwards menu completion -if [[ -n "$terminfo[kcbt]" ]]; then - zrcbindkey "$terminfo[kcbt]" reverse-menu-complete -elif [[ -n "$terminfo[cbt]" ]]; then # required for GNU screen - zrcbindkey "$terminfo[cbt]" reverse-menu-complete -fi - #k# Toggle abbreviation expansion on/off zrcbindkey '^xA' grml_toggle_abbrev zrcbindkey "^x^h" commit-to-history