我对emacs和贝叶斯数据分析以及JAGS软件比较陌生。 我想修改ess jags-d.el文件,以便使用F8快捷方式,如<-,就像在使用ESS的R模式下一样。可能吗 ?向ESS jags模式添加一些快捷方式
我希望我的问题很明确,并且对我的英文不好。
我对emacs和贝叶斯数据分析以及JAGS软件比较陌生。 我想修改ess jags-d.el文件,以便使用F8快捷方式,如<-,就像在使用ESS的R模式下一样。可能吗 ?向ESS jags模式添加一些快捷方式
我希望我的问题很明确,并且对我的英文不好。
不幸的是ess-smart-underscore
在错误模式下不起作用。
简单的答案是:
(define-key ess-bugs-mode-map [f8] (lambda() (interactive) (insert " <- ")))
这只是结合F8插入<-
。
为了实现准确的错误相同的行为在ESS把下列你的.emacs:
(define-key ess-bugs-mode-map (kbd "_") 'bugs-smart-underscore)
(defun bugs-smart-underscore()
(interactive)
(let ((assign-len (length ess-S-assign)))
(if (and
(>= (point) (+ assign-len (point-min))) ;check that we can move back
(save-excursion
(backward-char assign-len)
(looking-at ess-S-assign)))
;; If we are currently looking at ess-S-assign, replace it with _
(progn
(delete-backward-char assign-len)
(insert "_"))
(delete-horizontal-space)
(insert ess-S-assign))))
现在,按住_一旦将让你<-
,两次 - _
。
我不使用JAGS,但据我可以ESS手册中看到:在5.4
变化/新功能:
ESS [BUGS]和ESS [JAGS]:打字=现在 结果为< - 。
谢谢你的答案,但我也阅读了ESS手册(版本5.13),但作为一个R用户,我经常使用并倾向于使用< - 而不是=(即使它是相同的) – dickoa 2011-01-29 17:22:19
我不明白为什么不行,但你最好在ESS名单上提问。 – 2011-01-29 16:05:57
谢谢你,我会按照你的意见,并要求在ESS名单 – dickoa 2011-01-29 17:19:18