3

我对 emacs 和贝叶斯数据分析以及 JAGS 软件比较陌生。我想修改 ess jags-d.el 文件以获得<-的F8快捷方式,就像在使用 ESS 的 R 模式中一样。是否可以 ?

我希望我的问题很清楚,并为我糟糕的英语感到抱歉。

4

2 回答 2

2

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

5.4 中的更改/新功能:

ESS[BUGS] 和 ESS[JAGS]:现在键入 = 会导致 <-。

于 2011-01-29T16:06:06.540 回答
2

不幸 的是ess-smart-underscore不能在错误模式下工作。

简单的答案是:

(define-key ess-bugs-mode-map [f8] (lambda() (interactive) (insert " <- ")))

这只是绑定f8到 insert <-

要在错误中实现与 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))))

现在,按_一次会得到你<-,两次 - _

于 2011-01-29T21:57:22.400 回答