Emacs 同一模式有2种不同的配置
我正在构建一个工具来解析一个组织模式的源文件,以生成一个html5演示。这或多或少起作用 在emacs中编辑源文件时,如果我能够独立于现有的组织模式配置来定义函数、键绑定、代码段等,那将非常方便。(或任何其他主要模式,这不是特定于组织模式) 我研究了克隆组织模式并对其进行了重命名,但这对我来说似乎太过分了 理想情况下,我想要这样的东西 对于标准组织模式Emacs 同一模式有2种不同的配置,emacs,org-mode,Emacs,Org Mode,我正在构建一个工具来解析一个组织模式的源文件,以生成一个html5演示。这或多或少起作用 在emacs中编辑源文件时,如果我能够独立于现有的组织模式配置来定义函数、键绑定、代码段等,那将非常方便。(或任何其他主要模式,这不是特定于组织模式) 我研究了克隆组织模式并对其进行了重命名,但这对我来说似乎太过分了 理想情况下,我想要这样的东西 对于标准组织模式 (使用包组织 :模式(“\\.org\\\”.org模式) ... :绑定 (“s-f12”。做点什么) ) 以及我的演示模式 (使用包组织
(使用包组织
:模式(“\\.org\\\”.org模式)
...
:绑定
(“s-f12”。做点什么)
)
以及我的演示模式
(使用包组织
:模式(“\\.orgp\\\”.org模式)
...
绑定:
(“s-f12”。做点别的)
)
当打开foo.orgp时,我会发现组织模式有一个替代配置。您可以:
(defvar my-orgp-mode-map
(let ((map (make-sparse-keymap)))
(define-key map (kbd "s-f12") 'do-something-else)
map))
(define-derived-mode my-orgp-mode org-mode "OrgP"
"A variant of Org mode specifically for my HTML5 presentations.")
然后使用
my orgp mode
匹配\\\\.orgp\\\\'
的文件,像往常一样确定问题发布后答案显而易见。
使用
(定义派生模式组织表示模式组织模式“组织表示模式”
“组织模式的变体”
(defun runPresentationTool()
(互动)
(消息“这应该运行演示工具”)
)
)
(提供“组织演示模式”)
及
使用包组织表示模式
这把戏演得真好哇,你比我快了11分钟。不过非常感谢。不要在
define derived mode
中使用defun
(也不要在其他defun
s或defmacro
s中使用):它仍然具有全局效果,因此最好将defun
移到外部,这样它“更诚实”。