如何定义键绑定以在emacs中的次要模式之间切换?

时间:2013-12-29 04:59:58

标签: emacs elisp

编辑:从评论中我发现org-mode不是次要模式。所以这个问题与org-mode无关。但如果有人想在emacs中切换黑白模式,那将会很有用。

我必须经常在缓冲区操作时切换到org-mode,而且懒得输入 M-x org-mode

有没有办法在init.el文件中指定键绑定来切换缓冲区的模式?我想使用像 F12

这样的东西

2 个答案:

答案 0 :(得分:2)

您可以使用与此相似的内容

(defvar previous-major-mode nil)
(make-variable-buffer-local 'previous-major-mode)
(put 'previous-major-mode 'permanent-local t)

(defun toggle-org-mode ()
  (interactive)
  (cond
   (previous-major-mode
    (call-interactively previous-major-mode)
    (setq previous-major-mode nil))
   (t
    (setq previous-major-mode major-mode)
    (call-interactively 'org-mode))))

(global-set-key (kbd "<f12>") #'toggle-org-mode)

但是如果你经常需要这个,那就很好地表明你做错了什么,并且可能误解了主要模式的概念。

答案 1 :(得分:1)

(global-set-key (kbd "<f12>") 'org-mode)应该可以解决问题。