How can I open the current HTML file in a web browser from MacVim?
To do it just once, you can
:!open %
which will call the shell command open
with the path to the current file as argument. I don't use Mac myself, but open
seems appropriate to me. If it isn't, replace with whatever program you wish the file be opened with.
Of course you can bind a key, if you'll need it frequently:
:map <silent> <F5> :!open %<CR>
And you may want to
:set nowarn
to suppress warnings about unsaved file changes.
See:
:help :!
:help cmdline-special
:help 'warn'
Note that you can get arbitrarily sophisticated with Vim scripting. For example, this function lets you view the current unsaved changes by use of an intermediate file:
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>
(Replace both occurrences of firefox
with open
if that worked earlier.)