Para fazer isso apenas uma vez, você pode
:!open %
que irá chamar o comando shell open
com o caminho para o arquivo atual como argumento. Eu não uso Mac sozinho, mas open
parece apropriado para mim. Se não estiver, substitua com qualquer programa que você deseja que o arquivo seja aberto.
É claro que você pode vincular uma chave, se precisar dela com frequência:
:map <silent> <F5> :!open %<CR>
E você pode querer
:set nowarn
para suprimir avisos sobre alterações de arquivos não salvos.
Veja:
-
:help :!
-
:help cmdline-special
-
:help 'warn'
Note que você pode ser arbitrariamente sofisticado com o script Vim. Por exemplo, essa função permite visualizar as alterações não salvas atuais usando um arquivo intermediário:
function! BrowserPreview()
if &modified
let tmpfile = tempname()
execute "silent write " . tmpfile
call system("firefox " . shellescape(tmpfile))
if delete(tmpfile) != 0
echoerr "could not remove " . tmpfile
endif
else
call system("firefox " . shellescape(expand("%:p")))
endif
endfunction
map <silent> <F5> :call BrowserPreview()<CR>
(Substitua ambas as ocorrências de firefox
por open
se isso funcionou anteriormente.)