8

В терминале (linux) иногда менее важно видеть окончания строк, но важнее не загромождать начало строк. например

line1 sddd dd ddd
line2 sdafss ss s
line 3 da aaaa aa 

скорее, чем

line1 sddd dd ddd
dd dddd dd
line2 sdafss ss s
s ss
line 3 da aaaa aa 

Есть ли способ "вырезать" или "скрыть" строку, заканчивающуюся в конце окна терминала, таким же образом, как «less -S», но для нормального вывода?

1 ответ1

18

Поддержка отключения переноса строки зависит от терминала. Например, если вы используете screen вы можете нажать Ctrl - A Ctrl - R, чтобы переключить перенос строки.

В противном случае вы можете попробовать setterm -linewrap off с увеличением числа столбцов терминала с помощью stty или без него (еще не пробовал).

Эмуляторы терминала, такие как PuTTY (если вы подключаетесь к серверу из окна Windows), имеют свои собственные настройки.

Если терминал поддерживает escape-коды VT, echo -ne "\x1b[7l" отключит перенос экрана (echo -ne "\x1b[7h" включит его).

Обратите внимание, что то, что работает в одном терминале, может не работать в другом - например, я сейчас нахожусь в окне PuTTY на Linux OpenSuSE 12.3 с bash, используя screen: его последовательность управления работает отлично, а коды VT и термин - нет. На консоли текстового режима на более старом SuSE 11 (не в графическом интерфейсе) последовательность VT работает (вероятно, screen тоже), stty по-видимому, игнорируется.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .