Оболочка Emacs управляет отображением вывода команды - PullRequest
0 голосов
/ 31 мая 2019

Я только что обновил ОС с Ubuntu 16.04 до 18.04 и по какой-то причине emacs исчез.

При переустановке я только что заметил, что при запуске M-x shell затем hg diff выдается сообщение об ошибке:

WARNING: terminal is not fully functional
-  (press RETURN)

Думаю, я мог это исправить, запустив:

export TERM=xterm

После чего я получил очень красочный опыт работы с оболочкой и без предупреждения при запуске hg diff

Однако, он отображает только одну страницу вывода hg diff, затем делает паузу с : за раз, ранее он печатал лот без остановки.

Я думаю, что это может быть приемлемо, если я смогу разобратьсякакая клавиша позволяет мне напечатать следующую страницу вывода hg diff, и в идеале какая клавиша позволит распечатать все оставшиеся hg diff выходные данные и вернуть меня в приглашение оболочки.

ЕслиЯ нажимаю клавишу возврата и получаю дополнительную строку за раз, но это немного медленно и не совсем идеально.

Я думаю, что это, возможно, вопрос о сочетаниях клавиш xterm?Возможно, не специфично для Emacs, но я не уверен ..

1 Ответ

0 голосов
/ 05 июня 2019

shell-mode является буферизованной строкой, что означает, что ввод не будет отправлен базовому процессу, пока вы не введете RET.В этом случае вывод должен выполняться через программу типа less, где RET даст вам другую страницу вместо одной строки.

Так, в shell-mode вы можете использовать SPC, а затемна RETterm-mode, где по умолчанию нет буферизации строки (чтобы максимально прозрачно походить на нижележащую оболочку), достаточно RET, чтобы дать вам новую страницу.

...