Yan yana Modda Tam Terminal Genişliğini Kullan


40

Çoğu uygulama, kendilerine uygun olan terminalin tam genişliğini kullanma konusunda akıllıdır. Kabuğum ekran, vim vb. Yapar. Ancak diffyan yana modda ( -y) yok. Bu beni kızdırıyor. 270 blok genişliğindeki terminalimin yarısı bile olmayan 126 karakter genişliğinde kullanıyor.

Kılavuz sayfasına bakmak, genişliği otomatik olarak ayarlama, sadece manuel olarak belirleme hakkında özel bir şey göstermez -W.

Belki de diffterminalin tam genişliğine otomatik olarak genişleyebilmesi için "gizli bir özellik" var mı? Veya; Ne -W <terminalsize>zaman çalıştırsam, diff komutuma otomatik olarak yerleştirmenin en kolay yolu nedir ?

Herşeye otomatik olarak -W eklemenin hiçbir şeye zarar vermeyeceği varsayımı altındayım, çünkü bu yalnızca "yan yana modda olmama her zaman istediğim şey olan" $ x sütunlarını kullan "anlamına gelecektir. ya da.

Yanıtlar:


51
$ alias diff='diff -W $(( $(tput cols) - 2 ))'

yapmalısın. Siz de ~ / .bashrc dosyasına eklemek isteyeceksiniz.

Bir - 2şey (gömülü çift genişlikte Unicode?) Bir çizgi sargısı yapmak için yeterince genişlemesi durumunda, esas olarak paranoyadır; eğer istersen, sadece kullanabilirsin

$ alias diff='diff -W $(tput cols)'

$ COLUMNS fark etmeye başladım ve aynı satır boyunca bir şeyler düşünüyordum. alias diff = "diff -W $ {COLUMNS}". Sanırım çevreye güvenmek yerine kabuğa sormayı tercih ederim.
VxJasonxV

1
tputdikkate $COLUMNS, stty -aanlamlı bir değere sahip olduğu, bu ilk kullanılarak, ve terminal bir açıklama. eval $(resize)onları terminalin boyutunun ne olduğunu düşündüğü ile senkronize olmaya zorlamak için kullanılabilir.
geekosaur,

standart olmayan bir tabtapınız varsa (örneğin .bashrc'nizde tabs 2), -t işaretini kullanmanız gerekeceğini ya da farkınızın çok tuhaf çıktılar üreteceğini unutmayın
Jeff
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.