- From: Pete Gelbman <pete@arraycomm.com>
- Date: Mon, 01 May 2000 22:53:31 +0800
- To: html-tidy@w3.org
If anyone uses the unix Emacs editor, this tip is for you. I've found that when hacking on CGI, SSI programs and even straightforward HTML files, I prefer to parse the HTML code thru Tidy from with my editor screen as opposed to "tidying" the whole file from command line. I'm use Emacs for all my editing, and here's a great way to incorporate Tidy right into Emacs, so you can clean up HTML code on the fly. This lets you highlight a region of text and run Tidy on it. Tidy's "fixed" output will replace your highlighted region right in place. The error/warnings output will be directed into a separate mini-buffer below in your main screen. If you don't like the result, simply hit your "undo" button and your original code comes back. If you like the result, simply save the file and continue typing. Voila! Note that I bind this function to the Ctl-xt key stroke combination, which by default has no binding in emacs. Add this to your .emacs config file: --------- snip ------------------------------ ; Function to run Tidy HTML parser on region ; NOTE: this requires external Tidy program (global-set-key "\C-xt" 'tidy-region) (define-key ctl-x-map "it" 'tidy-region) (setq shell-command-default-error-buffer "tidy-errors") ; define an error buffer (defun tidy-region () "Run Tidy HTML parser on current region." (interactive) (let ((start (mark)) (end (point)) (command "tidy")) (shell-command-on-region start end command t t shell-command-default-error-bu ffer))) -------- /snip -------------------------------- A side note: I further bind the following function to my F8 key so I can quickly scan the error file buffer, kill it and continue typing without missing a beat or closing/changing windows. Anything to make life easier, right? ----------- snip #2 -------------------------------- ; Kill other window and and enlarge current buffer (global-set-key [f8] 'kill-buffer-other-window) (defun kill-buffer-other-window (arg) "Kill the buffer in the other window, and make the current buffer full size. If no other window, kills current buffer." (interactive "p") (let ((buf (save-window-excursion (other-window arg) (current-buffer)))) (delete-windows-on buf) (kill-buffer buf)) ) ------------- /snip #2 ------------------------------------ Enjoy! -- ~pete
Received on Monday, 1 May 2000 13:10:12 UTC