在使用 C-c C-j 或 C-c C-r(将行或区域发送到正在运行的 R 进程)在 .R 文件中评估代码块时,在 ESS 中,如何使 R 缓冲区自动向下滚动,以便在评估区域后光标位于底部,即提示符处?
谢谢。
谢谢。
有很多方法可以实现。在我的.emacs.d中,我有以下设置:
(setq comint-prompt-read-only t)
(setq comint-scroll-to-bottom-on-input t)
(setq comint-scroll-to-bottom-on-output t)
(setq comint-move-point-for-output t)
你可能也对这段代码感兴趣,它最初来自Felipe Csaszar,可以让你做你所要求的事情,还有其他一些不错的功能。
DJJ的解决方案对于Spacemacs中的ESS和polymode非常有效。
首先,在配置文件(例如~/.spacemacs
)的defun dotspacemacs/user-config()
部分中添加(scroll-down-aggressively 1)
。
然后,使用SPC , e r
评估该行或重新启动配置SPC f e d
。
Emacs 27会抱怨上述行,因为“符号的函数定义为空”,所以我必须按照以下方式更改它才能实现相同的结果:
(setq scroll-down-aggressively 0.01)
(setq comint-prompt-read-only t)
可能不是个好主意。我曾经在我的 .emacs 文件中加入了一整块命令(从 emacswiki 上复制而来),但有时(setq comint-prompt-read-only t)
会破坏缓冲区与下属 ESS 进程之间的交互,迫使我终止 R 并重新开始会话。 - Leo Alekseyev