В ESS/Emacs, как я могу заставить буфер процесса R прокручиваться вниз после C-c C-j или C-c C-r

В ESS, когда я оцениваю фрагменты кода в файле .R, используя C-c C-j или C-c C-r (для отправки строки или области в работающий процесс R), как я могу заставить буфер R автоматически прокручиваться вниз, чтобы после оценки регион, в котором курсор находится внизу, в подсказке?

Спасибо.


person stevejb    schedule 25.04.2010    source источник


Ответы (3)


Вероятно, куча способов сделать это. В моем .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, который позволяет вам делать то, что вы просите, а также еще несколько приятных вещей.

person Kieran    schedule 26.04.2010
comment
(setq comint-prompt-read-only t) скорее всего плохая идея. Раньше у меня был весь этот блок команд в .emacs (скопированный с emacswiki), но (setq comint-prompt-read-only t) иногда прерывал взаимодействие между буфером и подчиненным процессом ESS, заставляя меня убивать R и начинать сеанс заново. - person Leo Alekseyev; 29.04.2010
comment
Я тоже обнаружил, что режим только для чтения может привести к проблемам с ESS. Остерегаться. - person Vince; 09.03.2012
comment
Да, я тоже удалил его несколько лет назад. - person Kieran; 09.03.2012


Решение DJJ отлично работает для ESS и полимода в Spacemacs.

Сначала поместите (scroll-down-aggressively 1) в раздел defun dotspacemacs/user-config () файла конфигурации, например. ~/.spacemacs.

Затем оцените строку с помощью SPC , e r или перезапустите конфигурацию SPC f e d.

Emacs 27 жаловался на приведенную выше строку, потому что «определение функции символа недействительно», поэтому мне пришлось изменить его следующим образом, чтобы добиться того же результата:

(setq scroll-down-aggressively 0.01)
person Firas    schedule 24.04.2019