How to open files in web browsers (e.g Firefox) within editors like vim or emacs?

browse-url-of-file is an interactive compiled Lisp function in `browse-url.el'.

It is bound to <menu-bar> <HTML> <Load this Buffer in Browser>, C-c C-z v.

(browse-url-of-file &optional file)

Ask a WWW browser to display file.
Display the current buffer's file if file is nil or if called interactively. Turn the filename into a URL with function browse-url-file-url. Pass the URL to a browser using the browse-url function then run browse-url-of-file-hook.


For whatever reason, my EmacsW32 on WinXP install kept sending browse-url directives to shell with "open file:// alone, and that didn't work so well*. Cutting it off at the knees, and modifying justin's original as below worked for me:

(defun open-in-browser()
"open buffer in browser, unless it is not a file. Then fail silently (ouch)."
  (interactive)
  (if (buffer-file-name)
      (let ((filename (buffer-file-name)))
        (shell-command (concat "start firefox.exe \"file://" filename "\"")))))

Needs some improvement. As well as replacement of your favorite browser. d**n you, hard-coding.

* I think the problem was the system-type check in browse-url-default-windows-browser, but not positive.


In emacs I don't think this is built in, I may be wrong, but if not here is a function to do it:

(defun open-in-browser()
  (interactive)
  (let ((filename (buffer-file-name)))
    (browse-url (concat "file://" filename))))