说,我想绑定一个键来打开/关闭某些模式。我想,我需要的功能应该类似于
(defun toggle-some-mode ()
(if (some-mode-is-active)
(some-mode 0)
(some-mode 1)))
(global-set-key (kbd "some key") 'toggle-some-mode)
问题是这种模式有效是什么样的?我怎么知道模式是活动/非活动的?我不相信这种有用的案例没有标准功能。
有什么想法吗?
答案 0 :(得分:3)
只需使用some-mode
即可切换,即(global-set-key (kbd "some key") 'some-mode)
。 some-mode的参数应该是可选的,如果函数调用中没有参数,则函数默认切换模式。
关于如何检测模式是否处于活动状态的问题:如果some-mode
由define-minor-mode
定义,则它作为函数和变量存在。如果模式处于活动状态,变量some-mode
将评估为t
,否则为nil
。