Emacs and W3M: Toggling between work and the Web
| emacs, wickedcoolemacsHere’s a handy shortcut that toggles between the W3M web browser and other buffers you’re working on. I use it to quickly switch between code and documentation (or your favorite timewasting site, as it also makes a handy boss key).
Define the function by adding the following code to your ~/.emacs:
(defun wicked/toggle-w3m () "Switch to a w3m buffer or return to the previous buffer." (interactive) (if (derived-mode-p 'w3m-mode) ;; Currently in a w3m buffer ;; Bury buffers until you reach a non-w3m one (while (derived-mode-p 'w3m-mode) (bury-buffer)) ;; Not in w3m ;; Find the first w3m buffer (let ((list (buffer-list))) (while list (if (with-current-buffer (car list) (derived-mode-p 'w3m-mode)) (progn (switch-to-buffer (car list)) (setq list nil)) (setq list (cdr list)))) (unless (derived-mode-p 'w3m-mode) (call-interactively 'w3m)))))
Then bind it to a shortcut key sequence (F7 F7 in this example) by adding the following code to your ~/.emacs:
(global-set-key (kbd "") 'wicked/toggle-w3m)
You can then use F7 F7 to switch back and forth between your web browser and whatever else you’re working on.
You can comment with Disqus (JS required) or you can e-mail me at sacha@sachachua.com.