我对emacs和贝叶斯数据分析以及JAGS软件相对较新。 我想修改ess jags-d.el文件以获得< - 的 F8 快捷方式,就像使用ESS的R模式一样。可能吗 ?
我希望我的问题很清楚,对不起我的英语很差。
答案 0 :(得分:2)
我不使用JAGS,但据我在ESS手册中可以看到:
5.4中的更改/新功能:
ESS [BUGS]和ESS [JAGS]:输入=现在 结果为< - 。
答案 1 :(得分:2)
不幸的是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))))
现在,按 _ 一次会得到<-
,两次 - _
。