具有特定主要模式的邪恶模式挂钩?

时间:2016-06-25 05:11:47

标签: emacs evil-mode

是否可以仅使用evil-insert-enter-state在org-mode中挂钩org-toggle-latex-fragment和其他状态?

P.S。

最后建议工作。我目前有以下部分使组织模式在您处于正常模式时自动呈现内容,但在您处于其他模式时展开内容。

(defun org-preview-all-latex-fragments ()
  "Toggle all the latex fragments."
     (org-toggle-latex-fragment '(16)))


(add-hook 'org-mode-hook (lambda ()
                           (add-hook 'evil-normal-state-entry-hook 'org-preview-all-latex-fragments nil t)
                           (add-hook 'evil-normal-state-exit-hook 'org-remove-latex-fragment-image-overlays nil t)))

1 个答案:

答案 0 :(得分:1)

您可以在组织模式挂钩中添加缓冲区本地挂钩:

(add-hook 'org-mode-hook
  (lambda ()
    (add-hook 'evil-insert-state-entry-hook 'org-toggle-latex-fragment nil t)))

add-hook的第三个参数是缓冲区本地标志。

(add-hook HOOK FUNCTION &optional APPEND LOCAL)

上述问题是org-toggle-latex-fragment的工作方式不同,具体取决于光标所在的位置。如果您要激活整个文件中的所有乳胶碎片,您可能需要稍微修改我的建议:

(defun org-toggle-all-latex-fragments ()
  (org-toggle-latex-fragment '(16)))

(add-hook 'org-mode-hook
  (lambda ()
    (add-hook 'evil-insert-state-entry-hook 'org-toggle-all-latex-fragments nil t)))