4 puan yazan GN⁺ 2024-08-13 | 1 yorum | WhatsApp'ta paylaş

WezTerm kullanım deneyimi

Başlamadan önce

  • WezTerm kurulumu gerekli
  • macOS kullanıcıları Homebrew ile kurabilir ($ brew install wezterm)

Lua hakkında

  • WezTerm’in yapılandırması Lua ile tanımlanır
  • Lua, diğer dinamik programlama dillerine benzer olduğu için kolay okunur
  • Karmaşık yapılandırmalar için Lua’yı daha derinlemesine öğrenmek faydalıdır

Yapılandırma dosyası ve geri bildirim döngüsü

  • Yapılandırma dosyası $XDG_CONFIG_HOME/wezterm/wezterm.lua konumundadır
  • Yapılandırma dosyası değiştiğinde otomatik olarak yeniden yüklenir
  • Loglar, debug overlay (CTRL + SHIFT + L) ile görülebilir

Görünüm ayarları

Renk teması

  • WezTerm 1.000’den fazla renk teması sunar
  • Örnek: config.color_scheme = 'Tokyo Night'

Dinamik renk teması

  • Her yeni pencere açıldığında renk temasını rastgele değiştiren örnek kod sunuluyor

Sistem görünümüne uyma

  • Sistem görünüm moduna göre renk teması otomatik olarak değiştirilir
  • appearance.lua dosyası oluşturulduktan sonra yapılandırılır

Yazı tipi ayarları

  • Varsayılan yazı tipi JetBrains Mono’dur
  • Örnek: config.font = wezterm.font({ family = 'Berkeley Mono' })

Pencere stillendirme

  • Pencerenin arka plan saydamlığı ve blur ayarları
  • Örnek: config.window_background_opacity = 0.9

Durum çubuğu ayarları

  • Sekme çubuğunun sağına powerline tarzı bir durum çubuğu eklenir
  • WezTerm’in event API’si kullanılır

Tuş ayarları

Varsayılan tuş eşlemeleri

  • Varsayılan tuş eşlemeleri korunabilir veya devre dışı bırakılabilir (config.disable_default_key_bindings = true)

Tuş eşleme örnekleri

  • Option + Left Arrow ve Option + Right Arrow, kelimeler arasında gezinmeye eşlenir
  • Yapılandırma dosyasını açmak için bir kısayol ayarlanır (CMD + ,)

Multiplexing özellikleri

  • WezTerm’in multiplexing özellikleri kullanılır
  • Pencere bölme kısayolu ayarlanır (CTRL + SHIFT + P)

Leader key ayarı

  • Leader key CTRL + A olarak ayarlanır
  • Pencere bölme kısayolları leader key ile birlikte kullanılır

Bölmeler arasında gezinme

  • Bölmeler arasında geçiş için tuş eşlemeleri ayarlanır (vim yön tuşları kullanılır)

Bölme boyutlandırma

  • Bölme boyutlandırma için key table ayarlanır
  • Leader key ile birlikte kullanılarak bölme boyutu değiştirilir

Proje çalışma alanları

Çalışma alanı oluşturma ve geçiş

  • projects.lua dosyası oluşturulduktan sonra proje değiştirme fonksiyonu eklenir
  • Proje seçildiğinde yeni bir WezTerm çalışma alanı oluşturulur

GN⁺ özeti

  • WezTerm, Lua tabanlı esnek yapılandırması sayesinde geniş özelleştirme olanakları sunar
  • Otomatik yeniden yükleme ve debug overlay özellikleri, yapılandırma değişikliklerini kolaylaştırır
  • Multiplexing ve çalışma alanı yönetimi güçlüdür; çeşitli tuş eşlemeleriyle üretkenlik artırılabilir
  • Benzer özellikler sunan terminaller arasında Alacritty ve kitty bulunur

1 yorum

 
GN⁺ 2024-08-13
Hacker News görüşü
  • Kısa süre önce WezTerm'e geçtim ve çok memnunum. Daha önce kitty kullanıyordum; iTerm2'deki yapılandırma ve sadeliği seviyordum. WezTerm kutudan çıktığı haliyle çok daha güçlü özellikler sunuyor. Terminal yapılandırmam o kadar kısa ki editör ekranına tamamen sığıyor. O noktadan sonra terminali düşünmeme gerek kalmadı

    • kitty kullanırken sık sık sorun yaşadım ve iTerm2'nin özelliklerini yeniden oluşturmaya çalıştım, ancak kitty'nin bakımcısının kaba ve küçümseyici yorumları beni hayal kırıklığına uğrattı
    • Örneğin, "tmux kitty'de nasıl yapılandırılır?" diye sorduğumda "Yapmayın, tmux aptalca" yanıtını aldım. Sonunda vazgeçtim
  • WezTerm GitHub issue'larına çok hızlı yanıt veriyor; genelde sorunları bir veya iki gün içinde çözüyor. SSH üzerinden modifier tuşlarıyla ilgili küçük bir sorun dışında neredeyse kusursuz. Hızlı ve iyi

    • Daha önce Alacritty'nin sıkı bir hayranıydım ama uzak emacs için daha iyi modifier desteğine ihtiyacım vardı
  • Kubuntu'dan Ubuntu'ya geçerken Konsole'daki bazı özellikleri (sonsuz scrollback, scrollback içinde arama) istiyordum ama Konsole kurmak istemediğim için WezTerm kurdum. WezTerm'i hemen sevdim, ancak birçok özelliği kolay keşfedilmiyor. Belgeler çok iyi ve yazarı çok ilgili ve yardımsever

    • Örneğin, yalnızca klavyeyle büyük metin bloklarını nasıl seçeceğimi bulup bir kez yaptım, ama kısa süre sonra unuttum ve yine fareyle metin seçmeye döndüm. Bu, belge sayfasını tekrar aramaktan daha hızlı
    • Bu arada, aradığım sayfa şuydu: https://wezfurlong.org/wezterm/copymode.html
  • Mac Terminal, iTerm2, Kitty, Warp ve diğerlerini denedim ama sonunda WezTerm'de karar kıldım. Yapılandırması kolay, hızlı ve güzel görünüyor. Hatta bir tema da yaptım

  • WezTerm'in avantajı ne? WezTerm gerçek anlamda çapraz OS destekli; Linux, macOS ve Windows'ta kullanılabiliyor. Terminal yapılandırmamı birden fazla OS arasında paylaşıyorum

  • WezTerm'i yaklaşık 1 yıldır kullanıyorum ve GitHub'da Wez'e sponsor oluyorum. WezTerm harika bir terminal, geliştiricisi de harika. Hızlı kopyalama ve diğer kopyalama modlarını sık kullanıyorum

    • macOS dizüstü bilgisayarımdan işteki Linux makinesine mosh+tmux benzeri bir düzenle bağlanıyorum. Oturumları sürekli açık tutuyorum, böylece Mac üzerinden iş makinesinde çalışabiliyorum. Yeniden bağlanabilir oturumlar, paneller ve sekmeler sunuyor
  • iTerm2 kullanmaya devam etmemin nedeni "Edit->Selection Respects Soft Boundaries" özelliği. Bu özellik, pipe karakteri | işaretini panel ayırıcı olarak yorumluyor ve seçim buna göre sarılıyor

  • Diğer kullanıcıların görüşlerine katılıyorum. macOS kullanmaya başlayalı neredeyse 10 yıl oldu ve bu süre boyunca iTerm2 kullandım. Son zamanlarda yavaşlamaya başlamıştı. cmd-tab yaptığımda terminal görünene kadar 1 saniyeden fazla beklemem gerekiyordu

    • Birkaç alternatifi değerlendirdim ama hiçbiri hoşuma gitmedi. Bir terminal hesap/giriş istiyordu, bir diğeri ise {Java,Type}Script ile yazılmıştı ve basit komutlar bile async stream sorunları yüzünden bozuluyordu
    • WezTerm çok hızlı, yapılandırılabilir ve varsayılan olarak OneDark (base16) temasını sunuyor
    • İlk kurulumda cmd-left ve cmd-right için lua yapılandırmasına ekleme yapmam gerekti
  • Wez, Rust ile sistem programlama üzerine bir kitap yayımlamayı planlıyor

  • OT: En çok, HashiCorp'un kurucusunun yaptığı Ghostty'yi merakla bekliyorum