Você pode recuperar os nomes dos arquivos por meio de glob()
, como este, que oferece todos os arquivos de texto em seu diretório inicial para conclusão:
inoremap <F5> <C-R>=ListFiles()<CR>
func! ListFiles()
let files = map(split(glob('~/*.txt'), "\n"), 'fnamemodify(v:val, ":t")')
call complete(col('.'), files)
return ''
endfunc
Para remover o caminho, usei fnamemodify()
, que eu map()
'sobre a lista.