不区分大小写的ZSH后缀别名

时间:2009-07-18 18:28:04

标签: linux unix shell zsh

在我的.zshrc中,我设置了这样的后缀完成别名,以便我可以更轻松地打开文件:

alias -s -- txt='mate -w'

这允许我在文本编辑器中打开文本文件,而无需预先设置编辑器命令。

但是,当我尝试打开带有大写后缀的文件时,会出现问题。 ZSH将识别'.txt'并在我的文本编辑器中打开它,但不是'.TXT。'

有没有办法让ZSH后缀识别不区分大小写,以便我可以打开这样的文件?

3 个答案:

答案 0 :(得分:4)

让我冒险猜测:)

alias -s -- TXT='mate -w'
alias -s -- Txt='mate -w'
alias -s -- TXt='mate -w'
alias -s -- tXt='mate -w'
alias -s -- txT='mate -w'
alias -s -- tXT='mate -w'
alias -s -- TxT='mate -w'

答案 1 :(得分:3)

这似乎为我解决了这个问题:

setopt extendedglob
unsetopt CASE_GLOB

我从this question

获得了解决方案

答案 2 :(得分:0)

您可以使用小写字母一次定义后缀别名,并使用以编程方式转换为大写字母的扩展名重新定义它们:

for ext in ${(k)saliases}; alias -s $ext:u=$saliases[$ext]
相关问题