web-mode
About
web-mode.el is an autonomous emacs major-mode for editing web templates.
HTML documents can embed parts (CSS / JavaScript) and blocks (client / server side).
HTML documents can embed parts (CSS / JavaScript) and blocks (client / server side).
Download
Install
(require 'web-mode)
(add-to-list 'auto-mode-alist '("\\.html?\\'" . web-mode))
;; indent setting
(defun my-web-mode-hook ()
"Hooks for Web mode."
(setq web-mode-markup-indent-offset 2)
)
(add-hook 'web-mode-hook 'my-web-mode-hook)
;; comment style setting
(setq web-mode-comment-style 2)
emacs中调用外部浏览器打开html文档
emacs默认的html-mode
emacs打开html文档时默认会调用html-mode,html-mode中有一个默认的键绑定 C-c C-v,view buffer contents ,可以实现调用外部浏览器打开html文档
browse-url-of-buffer
我们可以使用C-h k , 输入C-c C-v ,来查看这个键绑定的内容
C-c C-v runs the command browse-url-of-buffer, which is an interactive
compiled Lisp function.
It is bound to C-c C-v, <menu-bar> <html> <browse-url-of-buffer>.
(browse-url-of-buffer &optional BUFFER)
Ask a WWW browser to display BUFFER.
Display the current buffer if BUFFER is nil. Display only the
currently visible part of BUFFER (from a temporary file) if buffer is
narrowed.
从上面的内容可以看出这个键绑定是调用 browse-url-of-buffer函数来实现这个功能
在web-mode中绑定按键来调用上述函数
(defun web-mode-keybinding-settings ()
"Settings for keybinding."
(eal-define-keys
'(web-mode-map)
'(("C-c C-v" browse-url-of-file))))
(eval-after-load "web-mode"
'(web-mode-keybinding-settings))
定义web-mode中的键绑定C-c C-v 调用上述函数,在其他mode中这个快捷键不起作用
web-settings.el
<pre name="code" class="python">(require 'web-mode)
(add-to-list 'auto-mode-alist '("\\.html?\\'" . web-mode))
;; settings
(defun my-web-mode-hook ()
"Hooks for Web mode."
;; indent setting
(setq web-mode-markup-indent-offset 2)
;; comment style setting
(setq web-mode-comment-style 2))
(add-hook 'web-mode-hook 'my-web-mode-hook)
;; keybinding
(defun my-web-mode-keybinding ()
"Settings for keybinding."
(eal-define-keys
'(web-mode-map)
'(("C-c C-v" browse-url-of-file))))
(eval-after-load "web-mode"
'(my-web-mode-keybinding))
(provide 'web-settings)