Come posso aprire un file usando `gf` in modo insensibile alle maiuscole / minuscole?


8

Voglio aprire il Test.txtfile quando metto il cursore sulla parola test.txte digito gf. È possibile?


Penso fileignorecaseche non funzioni perché influenza solo il comportamento interno di vim e quando tenta di aprire un file, il sistema operativo decide e gioca secondo le proprie regole. Puoi provare a definire 'includeexpr' o ridefinire il valore predefinito con :map gfe scrivere un'espressione di funzione che proverà tutte le combinazioni (come Test.txt, tEst.txt, teSt.txt, tesT.txt, TEst.txt e così via ), ma non sono sicuro che valga la pena provare a farlo.
Boris Serebrov,

Risposte:


6

:set fileignorecase tratterà i nomi di file e le directory come maiuscole e minuscole.

È attivo per impostazione predefinita per alcuni sistemi come OS X, integrato in un file system senza distinzione tra maiuscole e minuscole.

Puoi anche leggere l' aiuto su di esso per ulteriori informazioni:

'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.

1
Grazie per la risposta ma non ha funzionato. (E447: Impossibile trovare il file "test.txt" nel percorso) Ecco il mio screencast: asciinema.org/a/30cc7yp6hhv4m38hh7qi6uem4
npcode

@npcode hmm weird. Quei passi esatti sembrano funzionare bene per me. Ma forse perché sono su OS X, Vim sembra funzionare bene quando il caso non corrisponde. Lo proverò su Linux.
akshay,

@npcode sì, vedo il problema su Linux. Sembra che Vim non aprirà il file se il caso non corrisponde poiché la maggior parte dei file system su Linux fa distinzione tra maiuscole e minuscole. Forse potresti modificarlo in qualche modo con :help includeexpr'. O forse pubblica un post sulla mailing list di vim-dev per vedere cosa dicono.
akshay,

4
Concettualmente, non penso sia possibile. Considerare: se si digita gfpuntando a file.txte la cartella contiene File.txte file.TXT, quale dovrebbe aprirsi?
David Oneill

@DavidOneill Penso che potrebbero esserci alcune opzioni possibili nel caso: 1. Apri tutte. 2. Apri chiunque abbia un messaggio di avviso. 3. Chiedere all'utente di sceglierne uno.
npcode
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.