2011-09-03 36 views
2

你如何做與Eshell不區分大小寫的模式匹配?與巖組,人們可以使用「通配符標籤」(即,如果該extended_glob被接通),諸如在與Eshell的大小寫不敏感匹配?

print L(#i)in(#I)ux 

這將匹配LINux例如。

有沒有像這樣的Eshell?據我所知,Eshell沒有像Zsh的「globbing tags」這樣的支持,但是你知道是否存在用於不區分大小寫匹配的Eshell謂詞嗎?如果沒有,你有什麼建議如何在Eshell中定義一個謂詞來做到這一點?

謝謝!

回答

0

您可以將變量eshell-glob-case-insensitive設置爲true以在eshell中啓用不區分大小寫的通配符。

+0

謝謝!我錯過了這個變量。只是一個旁註。使用Zsh,如果你把'(#i)'標誌放在路徑的開始位置,就像'(#i)/ Doc /'Zsh一樣搜索'DOC','DoC'等。但是因爲你也可以使用該標誌位於搜索模式中間,Zsh允許您減少shell將查找的匹配數量 - 這可能會加速匹配過程。出於這個原因,我認爲如果eshell會有類似Zsh標誌的東西,那將會很好。但也許我只是抱怨太多:) – falsum

+0

不適合我 – erjoalgo

1

(setq eshell-glob-case-insensitive t)不起作用。

(setq eshell-cmpl-ignore-case t)This Works。將它放在.emacs或.emacs.d/init.el中。