Como abro um arquivo usando o `gf` de maneira que não diferencia maiúsculas de minúsculas?

8

Quero abrir o Test.txtarquivo quando coloco o cursor na palavra test.txte no tipo gf. É possível?

npcode
fonte
Eu acho fileignorecaseque não funciona porque afeta apenas o comportamento interno do vim e, quando tenta abrir um arquivo, o sistema operacional decide e reproduz por regras próprias. Você pode tentar definir o 'includeexpr' ou redefinir o padrão com :map gfe escrever uma expressão da função que tentará todas as combinações (como Test.txt, tEst.txt, teSt.txt, tesT.txt, TEst.txt e assim por diante ), mas não tenho certeza se vale a pena tentar fazê-lo.
Boris Serebrov 03/02

Respostas:

6

:set fileignorecase tratará nomes de arquivos e diretórios como não diferencia maiúsculas de minúsculas.

Por padrão, ele está ativado para alguns sistemas, como o OS X, que é incorporado com um sistema de arquivos que não diferencia maiúsculas de minúsculas (mas que preserva maiúsculas e minúsculas).

Você também pode ler a ajuda para obter mais:

'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
fonte
1
Obrigado pela resposta, mas não funcionou. (E447: Não é possível encontrar o arquivo "test.txt" no caminho) Aqui está o meu screencast: asciinema.org/a/30cc7yp6hhv4m38hh7qi6uem4
npcode
@npcode hmm estranho. Esses passos exatos parecem funcionar bem para mim. Mas talvez porque eu esteja no OS X, o Vim parece funcionar bem quando o caso não coincide. Vou tentar no Linux.
akshay
@ npcode sim, eu vejo o problema no Linux. Parece que o Vim não abrirá o arquivo se o caso não corresponder, pois a maioria dos sistemas de arquivos no Linux faz distinção entre maiúsculas e minúsculas. Talvez você possa modificar isso de alguma forma com :help includeexpr'. Ou talvez poste na lista de discussão vim-dev para ver o que eles dizem.
akshay
4
Conceitualmente, não acho que isso seja possível. Considere: se você digitar gfenquanto aponta file.txte a pasta contém File.txte file.TXT, qual deve ser aberta?
David Oneill
@DavidOneill Acho que pode haver algumas opções possíveis no caso: 1. Abra todas elas. 2. Abra qualquer pessoa com mensagem de aviso. 3. Peça ao usuário para escolher um.
Npcode