在我的.zshrc中,我设置了后缀完成别名,这样我就可以更容易地打开文件:
alias -s -- txt='mate -w'
它允许我在文本编辑器中打开文本文件,而不需要前置编辑器命令。但是,当我试图打开一个带有大写后缀的文件时,出现了一个问题。ZSH将识别“.txt”并在我的文本编辑器中打开它,但不会打开“. TXT”。有没有办法使ZSH后缀识别不区分大小写,这样我就可以打开这样的文件?
xienkqul1#
让我猜猜看:)
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'
am46iovg2#
这似乎为我解决了这个问题:
setopt extendedglob unsetopt CASE_GLOB
我从this question得到了解决方案
e4yzc0pl3#
您可以用小写形式定义后缀别名一次,然后使用以编程方式转换为大写形式的扩展名重新定义它们:
for ext in ${(k)saliases}; alias -s $ext:u=$saliases[$ext]
mtb9vblg4#
下面使用t和T,x和X,最后t和T的外推。这实际上只是简单的组合代码,然后分配cat。alias -s {t,T}{x,X}{t,T}=cat如果你运行类似echo {t,T}{x,X}{t,T}的程序,你可以看到我只是将ttt ttT tTt tTT Ttt TtT TTt TTT插入别名。
cat
alias -s {t,T}{x,X}{t,T}=cat
echo {t,T}{x,X}{t,T}
ttt ttT tTt tTT Ttt TtT TTt TTT
4条答案
按热度按时间xienkqul1#
让我猜猜看:)
am46iovg2#
这似乎为我解决了这个问题:
我从this question得到了解决方案
e4yzc0pl3#
您可以用小写形式定义后缀别名一次,然后使用以编程方式转换为大写形式的扩展名重新定义它们:
mtb9vblg4#
下面使用t和T,x和X,最后t和T的外推。这实际上只是简单的组合代码,然后分配
cat
。alias -s {t,T}{x,X}{t,T}=cat
如果你运行类似
echo {t,T}{x,X}{t,T}
的程序,你可以看到我只是将ttt ttT tTt tTT Ttt TtT TTt TTT
插入别名。