2011-01-29 54 views
3

我对emacs和贝叶斯数据分析以及JAGS软件比较陌生。 我想修改ess jags-d.el文件,以便使用F8快捷方式,如<-,就像在使用ESS的R模式下一样。可能吗 ?向ESS jags模式添加一些快捷方式

我希望我的问题很明确,并且对我的英文不好。

+0

我不明白为什么不行,但你最好在ESS名单上提问。 – 2011-01-29 16:05:57

+0

谢谢你,我会按照你的意见,并要求在ESS名单 – dickoa 2011-01-29 17:19:18

回答

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)))) 

现在,按住_一旦将让你<-,两次 - _

2

我不使用JAGS,但据我可以ESS手册中看到:在5.4

变化/新功能:

ESS [BUGS]和ESS [JAGS]:打字=现在 结果为< - 。

+0

谢谢你的答案,但我也阅读了ESS手册(版本5.13),但作为一个R用户,我经常使用并倾向于使用< - 而不是=(即使它是相同的) – dickoa 2011-01-29 17:22:19