【问题标题】:Abbreviations not working for zsh缩写不适用于 zsh
【发布时间】:2016-11-27 00:09:48
【问题描述】:

我完全按照http://zshwiki.org/home/examples/zleiab 的说明进行操作。但是当我推动空间时,什么也没有发生。也没有错误信息。

很高兴有一个替代方案或任何关于这里可能出错的想法。

我的 .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

【问题讨论】:

  • 您对该 if 语句进行了一些添加,您是否尝试过不进行更改?

标签: zsh oh-my-zsh


【解决方案1】:

您可能需要先运行此命令:

setopt extendedglob

【讨论】:

    猜你喜欢
    • 2017-07-25
    • 1970-01-01
    • 2017-01-20
    • 1970-01-01
    • 2010-09-14
    • 2012-06-07
    • 1970-01-01
    • 2019-12-06
    • 2015-09-24
    相关资源
    最近更新 更多