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

Evil mode hook with specific major mode?

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

p.s.

这些建议终于奏效了。我目前有以下几个部分,可以让org模式在正常模式下自动渲染内容,而在其他模式下展开内容。

(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)))

您可以在 org-mode 挂钩中添加缓冲区本地挂钩:

(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)))