2011-09-03 4 views
2

Comment pouvez-vous faire modèle insensible à la casse correspondant à Eshell? Avec zsh, on peut utiliser « balises englobement » (à savoir, si le extended_glob est activé) comme dansCorrespondance insensible à la casse avec Eshell?

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

qui correspondrait à LINux par exemple.

Y at-il quelque chose comme ça pour Eshell? D'après ce que je sais, Eshell n'a pas de support pour quelque chose comme les "tags globbing" de Zsh, mais savez-vous s'il existe un prédicat Eshell pour une correspondance insensible à la casse? Si ce n'est pas le cas, avez-vous des suggestions sur la façon de définir un prédicat dans Eshell pour le faire?

Merci!

Répondre

0

Vous pouvez définir la variable eshell-glob-case-insensitive sur true pour activer la globalisation insensible à la casse dans eshell.

+0

Merci! J'ai raté cette variable. Juste un sidenote. Avec Zsh, si vous mettez le drapeau '(#i)' au début du chemin comme '(#i)/Doc /' Zsh va chercher 'DOC',' DoC', etc. Mais parce que vous pouvez aussi utiliser le drapeau au milieu de votre motif de recherche, Zsh vous permet de diminuer le nombre de correspondances que le shell recherche, ce qui peut accélérer le processus de correspondance. Pour cette raison, je pense que ce serait bien si Eshell aurait quelque chose comme des drapeaux Zsh. Mais peut-être que je suis juste trop se plaindre :) – falsum

+0

ne fonctionne pas pour moi – erjoalgo

1

(setq eshell-glob-case-insensitive t)ne fonctionne pas.

(setq eshell-cmpl-ignore-case t)Cela fonctionne. Mettez dans votre .emacs ou .emacs.d/init.el.