
В Ubuntu я хочу прокрутить вверх, пока команда выполняется в моем окне терминала и генерирует новый вывод (выполняемая команда — rspec
). Я могу прокрутить вверх, но каждый раз, когда rspec генерирует новую строку вывода консоли, меня отбрасывает обратно в самый низ. Есть ли способ прокрутить все время вверх? Я использую terminator в Linux Mint/Ubuntu 12.04 LTS.
Я нашел возможный обходной путь. Домашняя страница Терминатораговорит, что с
stty ixon
вы можете включить «Управление потоком XON/XOFF для терминального вывода. Возможность приостановить вывод, набрав ^S, и возобновить его, набрав ^Q [...]»
Это не совсем то, что я хотел, хотя, без необходимости приостанавливать вывод (и, возможно, удивляться, когда забываешь включить его снова), я думал, что может быть простая клавиша-модификатор, например, shft-alt с прокруткой колесика мыши вверх. Есть ли лучшие решения?
решение1
Хоть я и немного опоздал, но я публикую это здесь, чтобы любой, кто сюда зайдет, получил решение. Для меня решение той же проблемы было:
Настройки терминатора -> Вкладка «Профили» -> Вкладка [под]прокрутка -> Снимите флажок «Прокрутка при выводе».
Преимущество этой опции в том, что она все равно будет прокручивать вывод, когда вы находитесь в самом низу вывода, но как только вы прокрутите вверх, она остановится и не будет вас беспокоить, даже если выводимый контент все еще генерируется.
надеюсь, это поможет
решение2
tail -f log.txt | less
обновится для перехода к новой информации, и вы сможете перейти вверх или вниз. Вы также можете использовать less
функции поиска и т. д. С помощью метода pipe вы также можете анализировать движущиеся выходные данные.
И та же идея, но без трубы: less +F log.txt
.
(Предполагается, что вы можете работать со своим контентом таким образом.)
Старый способ Unix заключался в нажатии Ctrl-S в вашем терминале для остановки и Ctrl-Q для возобновления прокрутки вывода — это, по сути, то, что Terminator позволяет вам делать с stty ixon
.
С добавлением полос прокрутки это кажется мне довольно приличным — нажмите Control-S, прокрутите вверх до нужного вам уровня, а затем Control-Q, чтобы вернуться вниз. Да, вы иногда забываете снять вывод с паузы.
Поскольку я исключительно ленив и мне нравится гибкость перенаправления вывода, я бы использовал tail -f с конвейером (предполагая, что это подходит для этого случая). Затем я могу остановить его, щелкнуть стрелкой вверх и добавить что-то вроде grep, и он все равно запустится:
tail -f tac_plus.log | less | egrep 'peerip'
Добавьте туда немного cat
S и у вас получится настоящая вечеринка.tee