İTerm2'de Yazı Tipi Boyutunu Artır / Düşür


31

Sorun: Hareket halindeyken dizüstü bilgisayar kullanıyorum ve ofiste iken harici monitöre bağlanıyorum. Dış monitörün çok büyük olması nedeniyle, mevcut iTerm2penceredeki fontları (genellikle bir tane) ve tüm sekmeleri arttırmam gerekiyor .
Geçici Çözüm:Cmd-+ Bir pencerede açtığım her sekme için (genellikle yalnızca bir tane) fontları 2-4 kez (tuşuna basarak ) ölçeklendiririm .

Soru: Geçerli pencerenin tüm sekmeleri için artan / azalan yazı tipi boyutunu otomatikleştirmenin kolay bir yolu var mı ? Veya İki ayrı profil oluşturacak olsam, bir penceredeki açık olan tüm sekmelere kolayca bir profil uygulayabilir miyim?

Yanıtlar:


25

Bunu otomatikleştirmenin çok boktan ve sersemletici bir yolu var, ama yine de göndereceğim.

İTerm2'nin tercihlerinde (Profil bölmesi) yeni bir profil oluşturabilirsiniz. Buna "LargeFont" diyelim. One = tuşuna basarak varsayılandan klonlayabilirsiniz .

Yeni oluşturulan profilin Metin bölmesinde görüntülenmesini istediğiniz font boyutunu ayarlayın.

Şimdi işte hile. AppleScript'i kullanarak yazı tipi boyutunu veya terminal oturumlarının profilini değiştiremezsiniz (en azından bir yol bulamadım), ancak AppleScript kullanarak her oturumda komutları çalıştırabilir ve iTerm2'de özel bir kaçış dizisi var. içinde bulunduğu oturum için değişen profilleri destekler echo.

Yani, bunu yürütebilirsiniz:

echo -e "\033]50;SetProfile=LargeFont\a"

Her açılış oturumunda terminalin profilini "LargeText" olarak değiştir.

Şimdi, açılmış tüm oturumların yürütülmesini otomatikleştirmek için AppleScript'i kullanabiliriz:

tell application "iTerm"
    repeat with theTerminal in terminals
        tell theTerminal
            repeat with theSession in sessions
                tell theSession
                    write text "echo -e '\\033]50;SetProfile=LargeText\\a'"
                end tell
            end repeat
        end tell
    end repeat
end tell

Lütfen her oturuma sadece metni (kelimenin tam anlamıyla) yazdığını, sekmelerinizden birinde bir metin editörünün açılmış olması durumunda - içinde çalışmayacağını ve echo komutunu kod / yapılandırma dosyanıza yapıştırdığını unutmayın. yerine. Sekmelerden birinde çalışan bir ping komutunuz varsa - bu da işe yaramaz.
Mermilerinizde hiçbir etkileşimli malzeme bulunmadığından emin olmalısınız.

Ayrıca bu komutları kabuğunuzun geçmişinde bırakmış olacaksınız. Komutun kendisinden önce bir boşluk ekleyerek bunu atlayabilirsiniz echo -e ..., bu en azından zsh ile çalışır.

İşte zsh işlevi:

function iterm_change_profile() {
    osascript -e "
        tell application \"iTerm\"
            repeat with theTerminal in terminals
                tell theTerminal
                    repeat with theSession in sessions
                        tell theSession
                            write text \" echo -e \\\"\\\\033]50;SetProfile=$1\\\\a\\\"\"
                        end tell
                    end repeat
                end tell
            end repeat
        end tell"
}

Böylece böyle kullanabilirsiniz:

iterm_change_profile LargeFont

Bir dezavantajı da var - profili daha büyük yazı tipine sahip olandan daha küçük olana değiştirdiğinizde, iTerm'in penceresi önemli ölçüde yeniden boyutlandırılıyor.

Ama yine de çok boktan bir yol.


Teşekkürler, bir deneyeceğim. İTerm2'de yapmak istediğim benzer bir şey de Renk Ön Ayarını (çevredeki ışığa bağlı olarak Solarize-Karanlık ve Solarize-Işık) değiştirmek olacaktır. Sanırım bunun için ayrı bir profil oluşturacağım.
minibüs

1
Teşekkürler, @Igor. Her ne kadar belirttiğiniz gibi en temiz yol olmasa da, güzel çalıştı. Yazı tipi boyutu Genel Tercihler -> "Yazı tipi boyutunu değiştirirken pencereyi ayarla" seçeneğinde, yeniden boyutlandırılacak pencereyi artırma / azaltma seçeneğinin işaretini kaldırabilirsiniz.
minibüs

@ Van Haha, Bu seçeneği tamamen kaçırdım, teşekkürler!
Igor Hatarist

Sadece başka bir şey öğrendim: Eğer TmuxIntegration kullanırsam, yazı tipi boyutunu değiştirmek tüm Sekmelerde çalışır (tmux windows / panes). Renk hala sadece bölme başına.
minibüs
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.