zsh - zsh别名扩展

标签 zsh zshrc

是否可以将zsh配置为在制表符完成期间扩展全局别名?例如,我有常见的别名:

alias -g '...'='../..'
alias -g '....'='../../..'

但是例如当我键入cd .../some<tab>时,它不会扩展为cd .../somethingcd ../../something。因此,我经常不使用这些方便的别名,因为它们与制表符完成不兼容。

最佳答案

我是Mikael Magnusson的rationalise-dot的用户。从我的zshrc中:

# This was written entirely by Mikael Magnusson (Mikachu)
# Basically type '...' to get '../..' with successive .'s adding /..
function rationalise-dot {
    local MATCH # keep the regex match from leaking to the environment
    if [[ $LBUFFER =~ '(^|/| |      |'$'\n''|\||;|&)\.\.$' ]]; then
      LBUFFER+=/
      zle self-insert
      zle self-insert
    else
      zle self-insert
    fi
}
zle -N rationalise-dot
bindkey . rationalise-dot
# without this, typing a . aborts incremental history search
bindkey -M isearch . self-insert

关于zsh - zsh别名扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4738707/

相关文章:

visual-studio-code - 在 vscode 中运行任务时使用 zsh

ssh - 关闭 tmux session 时结束 SSH session

python - pyenv 在 macOS 上给出 shopt 命令未找到错误

terminal - 电力线符号不起作用?

arrays - zsh 中的本地数组

zsh - bindkey vi-cmd-mode 导致退出命令模式后其他绑定(bind)无法识别

hadoop - (评估):export:1: not valid in this context

shell - ZSH 自动完成搞砸了命令名称

zsh - zsh-syntax-highlighting 中的 256 种颜色?

git add Autocomplete with Zsh and oh-my-zsh and Ambiguity