Terminalde çıkış için satır sarmayı devre dışı bırak


69

Terminalde, çok uzun olduklarından sarılmış çıkışları sık sık okurum. Basılı çıktıyı değiştirebilmemin bir yolu olmadığından, Terminal'in yatay kaydırmaya izin vermesine izin vermem gerekiyor.

Satır kaydırmayı devre dışı bırakmak ve yatay kaydırmaya izin vermek için varsayılan OS X Terminalinde yapabileceğim bir değişiklik var mı ?

Yoksa kullanabileceğim başka bir alternatif biliyor musunuz?


Eski soru, ama bana hala çözülmemiş görünüyor. Aynı cevaba ihtiyacım var, çünkü benim için örneğin GCC'nin çıktısını daha fazla düzenleyemiyorum: gcc.gnu.org/onlinedocs/gcc/Language-Independent-Options.html Bayrak -fmessage-length=0setiyle hala çoklu hat uyarısı / hata çıktısı. ve ben (şimdilik).
Michael Trouw

Yanıtlar:


51

tput benim için hile yaptı :

tput rmam

satır kaydırmayı devre dışı bırakır.

tput smam

hat sarmayı sağlar.


13
+1 ama yatay kaydırma eklemek için herhangi bir yol var mı?
Erik Allik

Ok tuşları yatay olarak bir sonraki ekrana geçmem için çalışıyor.
michid

7
Ok tuşlarını nasıl kullanacağımı bilmiyorum ... onlar benim için çalışmıyor. Bu çözüm, çizgileri geçerli pencerenin genişliğine keser gibi görünüyor. Pencereyi büyütdüğümde, daha fazla karakter içerdiğini bildiğim satırların sağındaki boş alan var. Yine de, bu çözüm benim amaçları için kullanışlıdır çünkü günlükleri görüntülüyorum ve en sağdaki bilgiler şu anda önemsiz.
Jason

2
Güzel bul! kendime birkaç unutulmaz zsh aliases ekledi: alias wrapon='tput rmam'&alias wrapoff='tput smam'
Chris J Allen

2
aldatılmış komutlar hakkında konuşmak
Andy

7

Çıktıyı aşağıdakiler aracılığıyla borulayın 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.

Burada neler olup bittiğini açıklamaya çalıştım , ancak bu istediğiniz gibi kaydırma çubuğuyla yatay olarak kaydırmanın bir yolu olmayacak.


6

iTerm 2, satır sarmayı devre dışı bırakmayı da desteklemiyor gibi görünüyor. Sadece daha az kullanabilirsiniz veya olsa da kesebilirsiniz:

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

Eğer siz (diğerleri bir çözüm olarak önerdiği gibi, doğrudan çıktı sorduğunuzu düşünmeme rağmen), çıktıyı somename.log dosyasına yönlendirin ve Uygulamalar> Yardımcı Programlar> Günlük Görüntüleyici ile açın (veya komut satırından open somename.log).

Terminalde değil, ancak günlük görüntüleyiciyi büyük miktarda çıktıyla (arama, kaydırma, filtreleme) başa çıkmak için en uygun olanı buldum.


Bence demek istedin Console.appdeğil mi? Log Viewer.appYardımcı programlarda yoktur . Bununla birlikte, konsol da sarar, tek fark, uzun satırların varsayılan olarak daralmasıdır. Her şeyi okumak için onları tıklamanız gerekiyor - bu ne yazık ki yardımcı olmaz.
Gentmatt

0

Kaydırmayı durdurmaya çalıştığınız şeye bağlı olarak vim kullanabilirsiniz. Böylece uzun satırlı dosyada vim'i çalıştırın ve sonra şunu yazın:

:se nowrap

1
Bu işe yaramayacak, çünkü dosyaları okumuyorum. Lsof üzerinden ağ bilgilerini okuyorum.
gentmatt

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.