Рассмотрим, что мы пишем на терминале cat file0.csv
, и получаем 1000 строк кода. После этого пишем cat file1.csv
и получаем еще 1000 строк кода. И так далее до cat file5.csv
.
Всякий раз, когда мы хотим перейти к последней строке - скажем, проверить, не написали ли мы file*. csv
правильно, не используя history
или обратный поиск, или просто просмотреть первые результаты наших команд, не повторяя их с помощью less
или head
- единственным доступным нам способом является SHIFT + Page Up
, но это так утомительно, когда в файле 1000 строк кода. Еще хуже, когда у вас есть только SHIFT + Page Down
, а то, что вы ищете, не находится близко ни к текущей позиции, ни к последней строке терминала - что делает клавиши home
и end
бесполезными для этого случая...
Таким образом, существуют ли какие-либо быстрые клавиши для перехода вверх/вниз непосредственно по набранным вручную строкам терминала bash?
[здесь копия ответа на связанный вопрос]
Один из подходов может заключаться в том, чтобы указать уникальный текст в вашем приглашении (я использую $
, за которым следует не- разрыв пробела ( PS1 = $ '$ \ ua0'
)).
И настройте эмулятор терминала так, чтобы он возвращался к нему при нажатии клавиш.
Например, с GNU screen
, в ~ / .screenrc
:
defscrollback 5000
bindkey \033` eval copy "stuff k?$\240\r"
Сопоставит это с Alt + Backtick
Я использую GNU screen
на всех терминалах и эмуляторах терминалов. Помимо множества функций, предоставляемых screen
, это обеспечивает единообразие для всех из них, в частности, с обработкой обратной прокрутки (которая доступна для поиска и которую вы можете сохранять в файлы или журнал, или копировать по -region ... чего не могут делать большинство других эмуляторов терминала).