2016-07-23 10 views
1

Ich folgte genau den Anweisungen von http://zshwiki.org/home/examples/zleiab. Aber wenn ich den Raum stoße, passiert nichts. Auch keine Fehlermeldung.Abkürzungen funktionieren nicht für zsh

Wäre glücklich, eine Alternative oder irgendwelche Ideen zu haben, was hier schief gehen könnte.

Volltext meines .zshrc:

setopt extendedglob 
typeset -Ag abbreviations 
abbreviations=(
    "ac" "ack -C 5__CURSOR__--ignore-dir=.build" 
    "Ii" "Hello__CURSOR__! How are you" 
    "Im" "| more" 
    "Ia" "| awk" 
    "Ig" "| grep" 
    "Ieg" "| egrep" 
    "Iag" "| agrep" 
    "Igr" "| groff -s -p -t -e -Tlatin1 -mandoc" 
    "Ip" "| $PAGER" 
    "Ih" "| head" 
    "Ik" "| keep" 
    "It" "| tail" 
    "Is" "| sort" 
    "Iv" "| ${VISUAL:-${EDITOR}}" 
    "Iw" "| wc" 
    "Ix" "| xargs" 
) 

magic-abbrev-expand() { 
    local MATCH 
    LBUFFER=${LBUFFER%%(#m)[_a-zA-Z0-9]#} 
    command=${abbreviations[$MATCH]} 
    LBUFFER+=${command:-$MATCH} 

    if [[ "${command}" =~ "__CURSOR__" ]] 
    then 
     RBUFFER=${LBUFFER[(ws:__CURSOR__:)2]} 
     LBUFFER=${LBUFFER[(ws:__CURSOR__:)1]} 
    else 
     zle self-insert 
    fi 
} 

no-magic-abbrev-expand() { 
    LBUFFER+=' ' 
} 

zle -N magic-abbrev-expand 
zle -N no-magic-abbrev-expand 
bindkey " " magic-abbrev-expand 
bindkey "^x " no-magic-abbrev-expand 
bindkey -M isearch " " self-insert 
+0

Sie mit dieser if-Statement ein paar Ergänzungen, haben Sie versucht, es ohne Ihre Änderungen? – GiftZwergrapper

Antwort

0

Möglicherweise müssen Sie zuerst diesen Befehl auszuführen:

setopt extendedglob 
Verwandte Themen