2010-04-24 2 views
5

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

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

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

+3

Не совсем то, что вам нужно, но «M-x compile» показывает прогресс компиляции постепенно. – doublep

+0

Это именно то, что мне нужно. – darrint

ответ

4

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

1

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

Смежные вопросы