Emacs elisp:如何在evil';s邪恶插入状态映射
我已经使用emacs一段时间了,现在仍在尝试掌握elisp的窍门。在我的init.el中,我有以下几行:Emacs elisp:如何在evil';s邪恶插入状态映射,emacs,elisp,Emacs,Elisp,我已经使用emacs一段时间了,现在仍在尝试掌握elisp的窍门。在我的init.el中,我有以下几行: (define-key evil-insert-state-map (kbd "RET") 'newline-and-indent) (add-hook 'org-mode-hook (lambda () (define-key evil-insert-state-map (kbd "RET") 'newline))) 这两行elisp的预期效果是仅在组织模式下禁用自动缩进,但每隔一个模式
(define-key evil-insert-state-map (kbd "RET") 'newline-and-indent)
(add-hook 'org-mode-hook (lambda () (define-key evil-insert-state-map (kbd "RET") 'newline)))
这两行elisp的预期效果是仅在组织模式下禁用自动缩进,但每隔一个模式保持自动缩进。然而,虽然这段代码确实禁用了组织模式的自动缩进,但它也有一个意想不到的效果,即禁用其他所有模式的自动缩进。有人知道达到预期效果的方法吗?您正在寻找的
邪恶定义键
:
(evil-define-key 'insert org-mode-map (kbd "RET") 'newline)
这将定义return
以调用newline
中的insert
状态,仅在org模式下使用。每次打开org
缓冲区时,钩子所做的就是重新定义全局插入状态映射