snakemake是一个类似python的make替代品,它更倾向于工作流而不是编译.它非常好,但也很新,我似乎无法在Emacs中找到它的模式.我只想要一些非常简单的东西:从基本模式的一个非常小的修改,所以我在仔细阅读emacs手册,我在init.el中启动了以下内容:
(define-derived-mode snake-mode fundamental-mode
...
)
Run Code Online (Sandbox Code Playgroud)
像make一样,snakemake对缩进很严格(实际的tab"\ t"字符,而不是当一个TAB类型时默认的emacs行为).当我改为输入"Cq TAB"时,它会在缓冲区中放置一个真正的制表符:这是有效的,我在基本模式下使用Snakefile尝试它并且它运行得很好.因此,为了避免在每次我想在此模式下使用TAB键入"Cq TAB"时,我想要对snake模式进行的第一个添加是将TAB键重新绑定为"Cq TAB"(或类似的东西).所以我仔细阅读了emacs手册并尝试了:
(define-derived-mode snake-mode fundamental-mode
(global-set-key (kbd "\t") (kbd "C-q \t"))
...
)
Run Code Online (Sandbox Code Playgroud)
但是这个和其他替代方案都不起作用...也许重新绑定像TAB键这样的标准键不是推荐的做法?
我想要的蛇模式的另一个补充是它根据python强调语法(但没有任何python行为,例如,python缩进行为)
总而言之,如果文件名为"Snakefile",那么在创建"蛇形模式"时只需对基本模式进行这2个简单修改,并且还可以调用蛇形模式,但我已经花了几个小时阅读emacs手册和做一些谷歌搜索,似乎我甚至没有接近.这很简单,我很确定它是可能的; 任何建议?
谢谢
穆雷