Como crio um arquivo com o nome file2.ext se meu cursor estiver dentro de file2.ext. Como gfapenas para criar novos arquivos (esta é uma situação hipotética, apenas pensei que poderia ser útil um dia).
Mas há uma solução interna do Vim que deve ser portátil entre plataformas. A função writefilegrava uma lista em um arquivo linha por linha. Quando a lista de entrada está vazia, ela cria um arquivo vazio. (Veja
:help writefilepara detalhes.)
Peguei a excelente resposta de ib acima e a expandi da seguinte forma. Meu objetivo era usar o vim para criar novos arquivos de remarcação, conforme necessário para um wiki (neste caso, um wiki Gollum)
o acima funciona como indicado na resposta. No entanto, no começo, pensei que não estava funcionando porque na verdade não vi o arquivo sendo aberto no vim. Usar o segundo bit de código abaixo abrirá um novo arquivo - é mais o que eu estava procurando. Então eu os combinei e tentei:
map <leader>cf :e <cfile><cr>
mas isso não funciona para um wiki porque quando você tenta criar um novo arquivo no wiki usando uma sintaxe como [[the-new-file]]a sintaxe do wiki não permite a extensão do arquivo entre colchetes. No entanto, o Vim precisa saber a extensão ao criar um novo arquivo para que isso funcione. Nesse caso, usei:
map <leader>cf :e <cfile>.md<cr>
para que eu pudesse criar novos arquivos de remarcação. Existem maneiras de personalizar ainda mais isso (por exemplo, não codificando a extensão), mas as opções acima funcionam bem para minhas necessidades. Se eu precisar de outra extensão (por exemplo, para salvar um arquivo .wiki), provavelmente pegarei a rota simples e farei outro mapa como:
map <leader>cwf :e <cfile>.wiki<cr>
Como um benefício colateral, você pode usar o mesmo comando para abrir o arquivo de remarcação já existente (o gfcomando padrão não funcionará aqui porque está faltando a extensão do arquivo).
<cfile>
vez de<C-r><C-f>
Peguei a excelente resposta de ib acima e a expandi da seguinte forma. Meu objetivo era usar o vim para criar novos arquivos de remarcação, conforme necessário para um wiki (neste caso, um wiki Gollum)
Eu tentei pela primeira vez:
o acima funciona como indicado na resposta. No entanto, no começo, pensei que não estava funcionando porque na verdade não vi o arquivo sendo aberto no vim. Usar o segundo bit de código abaixo abrirá um novo arquivo - é mais o que eu estava procurando. Então eu os combinei e tentei:
mas isso não funciona para um wiki porque quando você tenta criar um novo arquivo no wiki usando uma sintaxe como
[[the-new-file]]
a sintaxe do wiki não permite a extensão do arquivo entre colchetes. No entanto, o Vim precisa saber a extensão ao criar um novo arquivo para que isso funcione. Nesse caso, usei:para que eu pudesse criar novos arquivos de remarcação. Existem maneiras de personalizar ainda mais isso (por exemplo, não codificando a extensão), mas as opções acima funcionam bem para minhas necessidades. Se eu precisar de outra extensão (por exemplo, para salvar um arquivo .wiki), provavelmente pegarei a rota simples e farei outro mapa como:
Como um benefício colateral, você pode usar o mesmo comando para abrir o arquivo de remarcação já existente (o
gf
comando padrão não funcionará aqui porque está faltando a extensão do arquivo).fonte
gf
funciona seset suffixesadd=.wiki
. Uma versão melhoradacf
seria uma que respeitesuffixesadd
, pelo menos no caso em que contenha apenas um item.