我的一个朋友正在考虑从TextMate切换到Emacs.他习惯于TextMate的默认HTML编辑模式,它具有4个空格的制表位并插入制表符(即默认情况下不会自动缩进).它还允许使用" Cmd-Shift->
" 完成打开的HTML标记.有任何想法吗?
我认为这些设置应该可以解决问题:
(defun my-html-mode-hook () (setq tab-width 4) (setq indent-tabs-mode t) (define-key html-mode-map (kbd "") 'my-insert-tab) (define-key html-mode-map (kbd "C->") 'sgml-close-tag)) (defun my-insert-tab (&optional arg) (interactive "P") (insert-tab arg)) (add-hook 'html-mode-hook 'my-html-mode-hook)
设置说明'my-html-mode-hook
如下:
将标签宽度设置为4
强制插入标签(与空格相对)
强制TAB
键插入一个选项卡(默认情况下,它会绑定到缩进,而不仅仅是插入选项卡
'sgml-close-tag
是为您插入关闭标记的命令,此设置可以获得所需的键绑定
我有一点大脑冻结,无法弄清楚让TAB
密钥插入TAB字符的简单方法,所以我写了自己的.我不知道为什么绑定'self-insert-command
不起作用(这是普通键绑定的).
最后一行只是将设置功能添加到'html-mode-hook
.键绑定实际上只需要运行一次(与每次启用html模式相反),但这比使用更容易阅读'eval-after-load
.它的用途留给读者练习.