Emacs и длинные командные оболочки - PullRequest
5 голосов
/ 25 апреля 2010

Есть ли способ запустить команду оболочки, отобразить ли вывод в новом буфере и показать ли это постепенно? Eshell и другие эмуляторы терминала emacs выполняют эту работу, но я не вижу способа их написать.

То, что я хотел бы сделать, это написать небольшие функции elisp, чтобы выполнять такие вещи, как запуск модульных тестов и т. Д., И наблюдать за потоком вывода в буфер.

Команда оболочки elisp function близка к тому, что я хочу, но она показывает все выходные сразу после завершения процесса.

Ответы [ 2 ]

4 голосов
/ 25 апреля 2010

Как упоминалось doublep , существует Mx-компиляция , а также просто простая Mx-оболочка , и в этой оболочке вы запускаете все, что хотите.

1 голос
/ 19 мая 2010

Вы также можете использовать comint-run для выполнения команды без необходимости сначала запускать вспомогательную оболочку.Я считаю, что M-x shell использует режим коминтов с некоторыми изменениями, так что это не сильно отличается от этого.Но если вы хотите вызвать программу напрямую и привязать ее ввод и вывод к буферу, вызов функции comint-run.Это немного сложнее в использовании, поэтому прочитайте документацию: C-h f comint-run.

...