Você poderia fazer
map <F5> !mycommand shellescape(expand('%'))<CR>
shellescape()
faz o escapes todo o caractere especial na string (ex espaços)
expand()
expande a string nesse caso o nome do arquivo atual.
No entanto, o mapa só deve ter sido analisado quando o mapa foi executado. Isso pode acontecer se você tiver um autocmd que executa <F5>
ou Isso pode acontecer se você usou map
em outro lugar e foi executado. Seria melhor usar as versões noremap do mapa, a menos que você queira mapeamentos recursivos.