Будет ли возможно переходить между предыдущими / последующими командными приглашениями Терминала? - PullRequest
3 голосов
/ 31 октября 2010

Я использую zsh в OS X Terminal.app и долгое время мне не терпелось найти способ переключаться между запросами prev / next в выводе терминала.

Одно удобство в этом случае - возможность просматривать (и отслеживать ошибки) конец вывода каждой команды; например. когда вы строите вещи из исходного кода с помощью ./configure; make; make install. Примечание: я, очевидно, имею в виду не прыжок назад и вперед в истории команд, а способ взглянуть на окончания вывода каждой команды.

Кто-нибудь слышал о такой функциональности в мире * nix (желательно также Mac)? Требуется ли какой-нибудь плагин для терминала, ориентированный на ОС, или это можно сделать программно с помощью сценария оболочки, который можно привязать к сочетанию клавиш? Может быть, я один думаю об этом? :)

Редактировать: Вот пример сценария: допустим, я хочу скомпилировать и установить некоторую программу (используя стандартную процедуру ./configure && make && make install), и после команды make я сталкиваюсь с некоторыми ошибками. Теперь, насколько я понимаю (я могу быть совершенно не прав), критическая ошибка, приводящая к сбою команды make, обычно отображается в последних строках в выводе, нет? В любом случае, на этом этапе я мог бы сделать что-то вроде cat INSTALL, чтобы прочитать документ INSTALL, чтобы проверить, пропустил ли я что-то. ТЕПЕРЬ, если я хочу вернуться, чтобы увидеть, в чем заключалась ошибка, которая привела к сбою моей первоначальной команды make, мне нужно снова вручную прокрутить до этой позиции, поскольку моя команда cat INSTALL напечатала тонну текста после нее.

Я не знаю, является ли этот сценарий наиболее понятным, но есть много других ситуаций, в которых я хотел бы просто «вернуться» к предыдущим строкам приглашения и проверить результаты предыдущих команд; была ли это простая команда ls, make, git status или что-то еще, - поменять местами позиции в окне, используя строки подсказок в качестве позиций «закладок», - мне интересна идея.

Ответы [ 2 ]

0 голосов
/ 01 сентября 2011

Emacs имеет shell-mode, который запускает оболочку внутри редактора Emacs, предоставляя богатую среду дополнительных команд для навигации и работы с командами оболочки. Сюда входят команды для перехода к предыдущему / следующему приглашению и удаления вывода из команд, чтобы вы могли «очистить» и выполнить другую команду.

Если вы не знакомы с Emacs: чтобы запустить оболочку внутри Emacs, запустите emacs из оболочки, затем введите Esc-x (или Meta-x, если у вас включена опция «Использовать параметр как мета-ключ» Терминал> Настройки> Настройки> [профиль]> Клавиатура ). Это попросит команду выполнить. Введите shell.

Чтобы увидеть список команд, которые вы можете использовать в режиме оболочки, введите Control-h m. Вот те, которые перемещают курсор к предыдущему / следующему приглашению:

C-c C-n         comint-next-prompt
C-c C-p         comint-previous-prompt

Эти команды также были бы полезны:

C-c C-r         comint-show-output
C-c C-o         comint-delete-output
0 голосов
/ 31 октября 2010

команда + влево или вправо идет между вкладками в итерм. это то, что вы спрашиваете?

...