我目前可以使用的SGML漂亮地打印到相當打印在Emacs一個XML文件,但它是一個手動過程:在emacs中打開xml文件時運行sgml-pretty-print?
- M- <
- C-空間
- M->
- Mx sgml-pretty-print
我想這會自動發生(或者至少有一些選項可以這麼做)。我是新來的emacs/elisp的,不知道如何:(?確實在files.el這個開始)
- 的Emacs知道什麼代碼,當你打開一個文件運行
- 如果你想要覆蓋用你自己的,這些代碼如何做到這一點
我目前可以使用的SGML漂亮地打印到相當打印在Emacs一個XML文件,但它是一個手動過程:在emacs中打開xml文件時運行sgml-pretty-print?
我想這會自動發生(或者至少有一些選項可以這麼做)。我是新來的emacs/elisp的,不知道如何:(?確實在files.el這個開始)
這應該爲你做的伎倆:
(add-hook 'find-file-hook 'my-sgml-find-file-hook)
(defun my-sgml-find-file-hook()
"run sgml pretty-print on the file when it's opened (if it's sgml)"
(when (eq major-mode 'sgml-mode)
(sgml-pretty-print (point-min) (point-max))))
信息的關鍵部分是find-file-hook,point-min(-max),以及major-mode。
如果你想了解更多關於elisp,你可以看看這個question,它給出了一些關於如何解決問題的指針。
一個簡單的替代Trey Jackson's answer。只需添加到您的~/.emacs
文件:
(add-hook 'sgml-mode-hook #'(lambda()
(sgml-pretty-print (point-min) (point-max))))
您可以用`C-h`它選擇整個緩衝區收上來的第一和第三步驟。 – 2009-05-20 20:47:42
對你而言,但對我而言,C-h是序列中的第一把鑰匙,可以幫助您獲得各種主題的幫助。 – Cheeso 2009-05-20 20:59:16
對不起,打錯了,我的意思是`C-x h`。 – 2009-05-20 21:46:32