Respostas:
A primeira coisa que me vem à mente é usar o touchcomando passando o nome do arquivo sob o cursor.
map <silent> <leader>cf :!touch <c-r><c-p><cr><cr>
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.)
map <silent> <leader>cf :call writefile([], expand("<cfile>"), "t")<cr>
Observe que a extração do nome do arquivo pode ser ajustada usando expandpadrões diferentes
(consulte :help expand()).
A propósito, se você não quiser criar um arquivo, mas abrir um para edição, poderá definir o gfmapeamento semelhante
map <leader>gf :e <cfile><cr>
onde :epoderia ser substituído por :tabeou com algo semelhante.
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:
map <silent> <leader>cf :call writefile([], expand("<cfile>"), "t")<cr>`
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).
gffunciona se set suffixesadd=.wiki. Uma versão melhorada cfseria uma que respeite suffixesadd, pelo menos no caso em que contenha apenas um item.
<cfile>vez de<C-r><C-f>