Вимкнути обгортання ліній для виводу в Термінал


69

Я часто читаю виходи в терміналі, які завертаються, оскільки вони занадто довгі. Оскільки немає можливості змінити друкований вихід, мені потрібно дозволити Терміналу дозволити горизонтальну прокрутку.

Чи є модифікація, яку я можу внести до терміналу OS X за замовчуванням, щоб відключити обертання рядків і дозволити горизонтальну прокрутку ?

Або ви знаєте іншу альтернативу, яку я можу використати?


Старе питання, але мені здається, що воно досі не вирішене. Мені потрібна однакова відповідь, оскільки для мене я не можу додатково редагувати вихідні дані, наприклад, GCC: gcc.gnu.org/onlinedocs/gcc/Language-Independent-Options.html За допомогою -fmessage-length=0встановленого прапора я все одно отримую мульти- виведення рядка попередження / помилки і я цього не роблю (поки що).
Майкл Трув

Відповіді:


51

tput зробив для мене трюк :

tput rmam

вимикає обгортання рядків

tput smam

дозволяє обертати лінії


13
+1, але будь-який спосіб додати також горизонтальну прокрутку?
Ерік Аллік

Клавіші зі стрілками працюють для мене, щоб горизонтально перейти до наступного екрана.
michid

7
Я не бачу, як користуватися клавішами зі стрілками ... вони не працюють для мене. Здається, це рішення просто обрізає лінії до ширини поточного вікна. Коли я збільшую вікно, просто праворуч від рядків залишається порожній пробіл, який, як я знаю, містить більше символів. І все-таки це рішення корисне для моїх цілей, оскільки я показую журнали, а інформація в крайній правій частині наразі не має значення.
Джейсон

2
приємна знахідка! додав собі пару пам’ятних псевдонімів zsh: alias wrapon='tput rmam'&alias wrapoff='tput smam'
Chris J Allen

2
розмова про заплутані команди
Енді

7

Трубопровід через less -S:

   -S or --chop-long-lines
          Causes lines longer than the screen width to be chopped (truncated)
          rather than wrapped.  That is, the portion of a long line that does
          not fit in the screen width is not shown.  The default is  to  wrap
          long lines; that is, display the remainder on the next line.

Я намагався пояснити , що може бути відбувається тут , хоча це не призведе спосіб прокрутки по горизонталі з смугою прокрутки, як ви , здається, хочуть.


6

Здається, iTerm 2 також не підтримує відключення обертання рядків. Ви можете просто використовувати менше або вирізати, хоча:

less /var/log/system.log
expand /var/log/system.log | cut -c 1-$COLUMNS
less -s <<< "$(osascript -e 'tell app "Terminal" to contents of window 1')"

1

Якщо ви є (як інші пропонують як рішення, хоча я думаю, що ви запитували про прямий вихід), то перенаправляйте висновок у файл somename.log і відкривайте його за допомогою програм> Утиліти> Журнал перегляду (або з командного рядка як open somename.log).

Його немає в терміналі, але я знайшов програму перегляду журналу, який найкраще підходить для роботи з великою кількістю виводу (пошук, прокрутка, фільтрування).


Я думаю, ти маєш на увазі Console.app, правда? У Log Viewer.appкомунальних службах немає. Однак консоль також загортається, різниця полягає лише в тому, що довгі рядки стискаються за замовчуванням. Ви повинні натиснути на них, щоб прочитати все - так, це, на жаль, не допоможе.
gentmatt

0

Залежно від того, що ви намагаєтесь припинити обгортання, ви можете використовувати vim. Тому запустіть vim у файлі довгими рядками та введіть:

:se nowrap

1
Це не допоможе, оскільки я не читаю файли. Я читаю інформацію про мережу через lsof.
gentmatt

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.