Isto pode ser mais adequado para o stack do vi / vim em vi.stackexchange.com
Note que a tag: silent nega a entrada, então isto deve ser adicionado após o conjunto de comandos para executá-la na linha de comando. Eu tive um pouco de sorte com o seguinte.
:nnoremap <F5> :exe ':silent !firefox % 2>/dev/null &'^M^L
Por favor, note que você tem que pressionar ctrl-V para obter os bits ctrl-M e ctrl-L no final. Aqui está um resumo rápido do que eu adicionei.
2>/dev/null to avoid dumping stderr to screen.
& to allow us to drop back to vim without waiting for firefox to finish
^M to execute the command
^L to initiate a redraw (the command frequently blacked out my screen)
Estranhamente, sem o redirecionamento stderr, tive que esperar até que o firefox terminasse de descarregar os erros na tela e redesenhar novamente. Muito mais fácil simplesmente destruir essas linhas antes que elas possam exibir bits estranhos.