Подтвердить что ты не робот

Как очистить tmux-экран во время сортировки журналов?

Я использую tmux с iTerm2.

Очистить экран, используя Ctrl-L, работает, когда я в bash, но не работает, когда я заканчиваю журналы сервера. Как это исправить?

4b9b3361

Ответ 1

Вы можете очистить текущий буфер, используя send-keys -R, но имейте в виду, что приложение, запущенное внутри этого буфера, не заметит, что содержимое буфера было протерто.

Ссылка

Ответ 2

Ctrl-L привязан к команде readline. Однако, пока вы используете команду, которая обрабатывает ваш журнал, bash не получает ввод с клавиатуры. Вы можете приостановить хвост с помощью Ctrl-Z, очистить экран с помощью Ctrl-L и возобновить хвост с помощью fg.

Это не зависит от tmux; Я не думаю, что tmux имеет что-то вроде команды clear-pane, вместо этого полагаясь на оболочку для обработки этого для вас.

Ответ 3

В OSX (терминал и я верю iTerm2) CMD + K очищает и удаляет прокрутку, но я не уверен, что это работает при хвосте или в tmux.

Несколько ссылок могут иметь ваш ответ:

Кроме того, @chepner предложил приостановить команду, и это дало мне идею добавить его как ключевое связывание (примечание: я протестировал это на Linux, но у меня нет OSX. Первая ссылка, похоже, указывает clear-history может работать):

bind-key -n C-l send-keys C-z \; send-keys " reset && fg > /dev/null" \; send-keys "Enter"

Добавьте это в свой ~/.tmux.conf, затем вы можете сделать CTRL+l, и он отправит необходимые ключи и команды на терминал для его автоматизации.

reset && fg имеет префикс пробела, чтобы исключить его из истории.

> /dev/null останавливает отображение исходной команды хвоста, но это может быть полезно, поэтому ее можно удалить, если вы хотите увидеть ее после очистки.