Comment ouvrir un fichier en utilisant `gf` de manière insensible à la casse?

8

Je veux ouvrir le Test.txtfichier lorsque je place le curseur sur le mot test.txtet le saisis gf. C'est possible?

npcode
la source
Je pense que fileignorecasecela ne fonctionne pas car cela n'affecte que le comportement interne de vim et lorsqu'il essaie d'ouvrir un fichier, le système d'exploitation décide et joue selon ses propres règles. Vous pouvez essayer de définir le 'includeexpr' ou redéfinir la valeur par défaut avec :map gfet écrire une expression de fonction qui va essayer toutes les combinaisons (comme Test.txt, tEst.txt, teSt.txt, tesT.txt, TEst.txt et ainsi de suite ), mais je ne sais pas si cela en vaut la peine.
Boris Serebrov

Réponses:

6

:set fileignorecase traitera les noms de fichiers et les répertoires comme sensibles à la casse.

Il est activé par défaut pour certains systèmes comme OS X qui est intégré à un système de fichiers insensible à la casse (mais préservant la casse).

Vous pouvez également lire l' aide à ce sujet pour en savoir plus:

'fileignorecase' 'fic'  boolean (default on for systems where case in file
                 names is normally ignored)
                 global
                 {not in Vi}

    When set case is ignored when using file names and directories.
    See 'wildignorecase' for only ignoring case when doing completion.
akshay
la source
1
Merci pour la réponse mais cela n'a pas fonctionné. (E447: Impossible de trouver le fichier "test.txt" dans le chemin d'accès) Voici mon screencast: asciinema.org/a/30cc7yp6hhv4m38hh7qi6uem4
npcode
@npcode hmm bizarre. Ces étapes exactes semblent bien fonctionner pour moi. Mais peut-être parce que je suis sur OS X, Vim semble bien fonctionner lorsque le cas ne correspond pas. Je vais l'essayer sur Linux.
akshay
@npcode oui je vois le problème sous Linux. Il semble que Vim n'ouvrira pas le fichier si le cas ne correspond pas car la plupart des systèmes de fichiers sous Linux sont sensibles à la casse. Vous pourriez peut-être modifier cela d'une manière ou d'une autre avec :help includeexpr'. Ou peut-être publier sur la liste de diffusion vim-dev pour voir ce qu'ils disent.
akshay
4
Conceptuellement, je ne pense pas que ce soit possible. Considérez: si vous tapez gfen pointant vers file.txtet que le dossier contient File.txtet file.TXT, lequel doit-il ouvrir?
David Oneill
@DavidOneill Je pense qu'il peut y avoir quelques options possibles dans le cas: 1. Ouvrez-les toutes. 2. Ouvrez toute personne avec un message de notification. 3. Demandez à l'utilisateur d'en choisir un.
npcode