【发布时间】:2014-07-29 03:45:13
【问题描述】:
在使用 ESS 模式时,有许多有用的变量可以控制 Emacs (R) 代码块中的 TAB 键缩进和完成。
ess-tab-complete-in-script 首先缩进行,如果没有要缩进的内容,则自动完成单词。
“能力越大,责任越大”,因此,在快速缩进代码时,您可能会在没有注意到灾难性结果的情况下完成代码。因此,您可以使用变量细化事物
ess-first-tab-never-complete。例如:如果'unless-eol,TAB 仅在光标位于行尾时完成;如果'symbol,它也在一行的中间完成,但如果你在一个单词的中间,则不是;等(阅读文档了解更多
F1vess-first-tab-never-complete)。
问题是,至少对我来说,TAB 绑定到ess-noweb-indent-line,但控制缩进或完成行为的命令是:ess-indent-or-complete。所以我使用 fix 标签绑定:
(add-hook 'ess-mode-hook
'(lambda()
(local-set-key (kbd "<tab>") 'ess-indent-or-complete)
))
这行得通,但我想知道这是否是正确的方法。在手册中,我没有看到任何提示挂接到 ESS 模式并重置选项卡绑定。
您知道执行此操作的规范方法是什么吗?
【问题讨论】: