我在python模式的时候设置了自动启用该模式
(add-hook 'python-mode-hook 'imenu-list-minor-mode)
我在org中移除了该模式
(remove-hook 'org-mode-hook 'imenu-list-minor-mode)
但是当光标移动到org src python block的时候, imenu-list-minor-mode的buffer又自动启动了。不得不每次手动关闭。 如何解决呢?
我在python模式的时候设置了自动启用该模式
(add-hook 'python-mode-hook 'imenu-list-minor-mode)
我在org中移除了该模式
(remove-hook 'org-mode-hook 'imenu-list-minor-mode)
但是当光标移动到org src python block的时候, imenu-list-minor-mode的buffer又自动启动了。不得不每次手动关闭。 如何解决呢?
可以试试,不过我没测试过
(add-hook 'python-mode-hook
#'(lambda ()
(unless (eq major-mode 'org-mode)
(imenu-list-minor-mode))))
不行,在src block中,按下tab键,就出现了
把测试条件换成测试文件名后缀呢?
没看懂?怎么做?
换成这个试试 (bound-and-true-p org-src-mode)
顺便加入了楼上提到的对 org-src-mode 的测试
(add-hook 'python-mode-hook
#'(lambda ()
(unless (or (eq major-mode 'org-mode)
(string= (file-name-extension (buffer-name)) "org")
(bound-and-true-p org-src-mode))
(imenu-list-minor-mode))))
不行,一打开org就出现,关闭掉后,在python src block中,按tab键,又出现了imenu buffer
你要自己多试呀,把上面几个变量先打出来看有什么可以判断的
(string-prefix-p "org" (file-name-extension (buffer-name))
update: 或者随便搜一下: org babel - How to turn off `emacs-lisp-checkdoc` of flycheck when edit source block in org-mode file? - Emacs Stack Exchange