Bry*_*ard 8 zsh alias autocomplete
是否可以配置 zsh 以在选项卡完成期间扩展全局别名?例如,我有常见的别名:
alias -g '...'='../..'
alias -g '....'='../../..'
Run Code Online (Sandbox Code Playgroud)
但是当我输入时,cd .../some<tab>它不会扩展到cd .../somethingor cd ../../something。因此,我经常不会使用这些方便的别名,因为我无法完成我想去的地方。
尝试查找zsh abbreviations。它们允许您输入一个“缩写”,当您按下魔法键(例如空格)时,该缩写会自动替换为其完整形式。因此,您可以创建一个更改...<SPACE>为../...
例如,这是您在个人资料中需要的内容:
typeset -A abbrevs
abbrevs=(
"..." "../.."
"...." "../../.."
)
#create aliases for the abbrevs too
for abbr in ${(k)abbrevs}; do
alias -g $abbr="${abbrevs[$abbr]}"
done
my-expand-abbrev() {
local MATCH
LBUFFER=${LBUFFER%%(#m)[_a-zA-Z0-9]#}
LBUFFER+=${abbrevs[$MATCH]:-$MATCH}
zle self-insert
}
zle -N my-expand-abbrev
bindkey " " my-expand-abbrev
bindkey -M isearch " " self-insert
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2064 次 |
| 最近记录: |