(求助)evil-mode 与 org-mode 在操作的冲突

Vim 下的 C-i 和 C-o 跳转很方便。所以我在 evil-mode 下也启用了这个 C-i 和 C-o 的按键配置,但我发现这么配置之后,org-mode 下无法直接按 TAB 来执行 org-cycle 了。

不知道使用 evil-mode 的朋友有无注意到这个问题,以及如何解决的?

如果你使用 gui emacs,把 <tab>TAB 分开来绑定按键。这样 TAB 也就是 C-i 就是跳转,<tab> 就是传统的 org-cycle。

如果使用终端 emacs 就是只能二选一了,我选择使用 org-cycle,把跳转绑定到了另一个按键 (SPC j i) 上。

1 个赞

我的做法是在终端下需要执行org-cycle的几种情况让TAB执行org-cycle,然后在其他地方就保持C-i的功能

(evil-define-key 'motion org-mode-map
		 (kbd "TAB") '(menu-item "" nil
					 :filter (lambda (&optional _)
						  (when (and (not (display-graphic-p))
							      (or (org-at-heading-or-item-p)
								  (org-at-table-p)
								  (org-at-block-p)))
						     #'org-cycle))))
1 个赞