~/.tmux.confyapılandırma dosyasıyla tuş kısayolları, renkler, durum çubuğu ve fare davranışları serbestçe ayarlanabilir- Varsayılan Prefix tuşu
C-b,C-aolarak değiştirilebilir; Caps Lock’u Ctrl olarak yeniden eşleyerek giriş verimliliği artırılabilir - Pencere bölme işlemi
",%yerine|,-tuşlarıyla daha sezgisel şekilde yapılabilir vertuşuyla yapılandırma dosyası anında yeniden yüklenebilir - Alt + yön tuşlarıyla panel geçişi, fare modunun etkinleştirilmesi ve pencere adının otomatik değiştirilmesinin kapatılmasıyla kullanım kolaylığı artar
- Renkler, durum çubuğu, mesajlar ve kenarlıklar gibi görsel öğeler ayrıntılı biçimde özelleştirilerek tutarlı bir tema oluşturulabilir
tmux özelleştirmenin temel kavramları
- tmux yapılandırma dosyası
tmux.confadını taşır; kullanıcının ana dizinindeki~/.tmux.confkonumuna koyulursa kişisel ayarlar olarak uygulanır- Birden fazla kullanıcı tarafından paylaşılacaksa sistem genelindeki dizine koyulabilir; bu konum işletim sistemine göre değişir
- Tam konum
man tmuxiçindeki-fseçeneği açıklamasından öğrenilebilir
- Yapılandırma dosyası düzenlenerek tuş kısayolları, renkler, durum çubuğu, fare davranışları vb. serbestçe değiştirilebilir
Daha az rahatsız eden bir Prefix tuşu ayarı
- Varsayılan Prefix tuşu
C-b, erişimi daha kolay olanC-aile değiştirilebilirC-a, bash içindeki “satırın başına git” komutuyla çakışabilir- Caps Lock tuşunu Ctrl olarak yeniden eşlemek, Prefix kombinasyonlarını girmeyi kolaylaştırabilir
- Yapılandırma örneği şöyle:
unbind C-b set-option -g prefix C-a bind-key C-a send-prefix C-a C-aile mevcut bash komutu yine kullanılabilir
Sezgisel pencere bölme komutları
- Varsayılan bölme tuşları
",%yerine görsel olarak daha sezgisel|,-kullanılabilir|yatay bölme,-ise dikey bölme olarak ayarlanır- Mevcut tuş atamaları kaldırılır
bind | split-window -h bind - split-window -v unbind '"' unbind %
Yapılandırma dosyasını hızlıca yeniden yükleme
tmux.confsık sık düzenleniyorsa bir kısayolla anında yeniden yüklenebilirrtuşuna yapılandırma dosyasını yeniden uygulama komutu atanır
bind r source-file ~/.tmux.conf
Hızlı panel geçişi
- Alt (Meta) tuşu + yön tuşları ile Prefix olmadan paneller arasında geçiş yapılabilir
Alt-Left,Alt-Right,Alt-Up,Alt-Downile sırasıyla geçiş sağlanır
bind -n M-Left select-pane -L bind -n M-Right select-pane -R bind -n M-Up select-pane -U bind -n M-Down select-pane -D
Fare modunu etkinleştirme
- Fareyle pencere seçme ve panel boyutu ayarlama mümkün olur
- Varsayılan yaklaşım klavye odaklı olsa da ekip çalışmasında faydalıdır
- Özellikle pair programming gibi durumlarda sık kullanılabilir
set -g mouse on
Pencere adının otomatik değiştirilmesini kapatma
- Elle verilen pencere adlarının komut çalıştırılırken otomatik olarak üzerine yazılmasını önler
set-option -g allow-rename off
tmux’un görünümünü değiştirme
- Renkler, durum çubuğu, mesajlar, panel kenarlıkları vb. ayrıntılı biçimde ayarlanabilir
- Çeşitli görsel öğeleri yapılandırmak için
STYLESbölümüne bakılabilir - Varsayılan terminal renkleri (
red,yellow,blackvb.) kullanılırsa tema ile doğal bir uyum sağlanır - 256 renk modu kullanıldığında
colour0~colour256belirtilebilir
- Çeşitli görsel öğeleri yapılandırmak için
- Örnek yapılandırmada şu öğeler bulunur
-
Zil bildirimini kapatma**,** saat rengini yellow yapma**,** kopyalama modu stilini fg=black bg=red bold olarak ayarlama
-
Panel kenarlığı rengini red**,** etkin panel kenarlığını yellow yapma
-
Durum çubuğunu bottom konumuna alma**,** solda boşluk bırakma**,** sağda saati gösterme
-
Geçerli pencere stilini fg=black bg=red**,** normal pencere stilini fg=red bg=black yapma
- Mesaj stilini fg=yellow bg=red bold olarak ayarlama
- Bu ayarlar sayesinde tutarlı bir renk düzeni ve görsel ayrım sağlanabilir
-
Ek referanslar
- Çeşitli tmux yapılandırma örnekleri GitHub’daki
tmux.confveyadotfilesdepolarında bulunabilir- Reddit’teki
/r/dotfiles,/r/unixpornda incelenebilir
- Reddit’teki
- Tüm yapılandırma GitHub dotfiles deposunda açık olarak paylaşılmıştır
- Daha derinlemesine öğrenmek için tmux man sayfası ve tmux wiki’deki Configuring tmux bölümü önerilir
- Bunlar en güncel özellikleri ve ayrıntılı seçenekleri kapsar
- Terminal renk temasını doğrudan tasarlamak için Root Loops(https://rootloops.sh/) kullanılabilir
- Kişiye özel terminal renk düzeni oluşturmayı destekler
1 yorum
Hacker News yorumları
Eskiden tmux kullanıyordum ama Zellij'i keşfettikten sonra tamamen ona geçtim
Sekme ve panel düzeni çok daha sezgisel, ayrıca fareyle kaydırma ve metin seçme rahat olduğu için kopyala-yapıştır daha kolay
Buton bağlantılarında sağ tıklayıp kopyalama olmuyor ve erişilebilirlik açısından da iyi değil
tmux'ta bu özelliği 1-2 dakikada bir kullanıyorum; Zellij geliştiricileri veriyi editöre pipe etmeyi öneriyor ama bu sistem panosuyla uyumlu değil
Bu yüzden sonunda tmux'a geri döndüm
Zellij yaklaşık 50MB, tmux ise bağımlı kütüphaneler dahil yaklaşık 2MB; yani boyut farkı büyük
Zellij giderek şişmeye başladı ve rahatsız edici oldu; şimdi oturumları tmuxp ile kurup bağlantıyı autossh ile canlı tutuyorum, halimden çok daha memnunum
Tuş atamaları konusuna gelirsek, ^a screen'in, ^b ise tmux'un geleneği
Birden fazla sistemi yöneten bir yöneticiysen varsayılan tuş haritasını öğrenmek önemli
Kişisel olarak sadece renkleri, aktif panel arka planını, zaman damgalı saati ve fareyi etkinleştirmeyi değiştirdim; tuş atamaları aynı kaldı
Alışınca varsayılanlar aslında daha rahat geliyor
Shift+Enter çalışmadığı için tmux'u bırakıp Zellij'e geçmiştim
Ama Zellij bir panic crash yüzünden süreçleri düşürünce sonunda tekrar tmux'a döndüm
Çözüm
"bind-key -T root S-Enter send-keys C-j"oldu; bu issue'da buldum"bind -n S-Enter send-keys Escape '[13;2u'"ile çözdümpi.dev extended-keys ayarı olmadığı konusunda uyarıyor ama gayet iyi çalışıyor
tmux'ta sunucuyu kapatınca alt süreçlerin de temizlenmesi rahattı
\ + Enterkombinasyonu da kullanılabilirtmux'un Control Mode'unu öğrendikten sonra tam bir oyun değiştirici oldu
iTerm2'de
tmux -CCçalıştırınca sekmeler, kaydırma, kopyala/yapıştır, kısayollar vb. terminale yerelmiş gibi çalışıyorSekmeler de görsel olarak net biçimde görünüyor; özellikle yeni başlayanlar için çok faydalı
tmux'ta Alt+rakam ile hızlı pencere geçişi kullanıyorum
Örneğin
bind-key -n M-1 select-window -t :1gibi ayarlanabiliyorAlt-/ ile vi tarzı kopyalama modu da açılabiliyor
Wayland ortamında
wl-copykullanarak fare sürüklemesiyle ya daytuşuyla kopyalama yapılabiliyorPowerline tarzı bir tasarım da ekledim; bunun için powerline-fonts gerekiyor
tmux'u o kadar fazla özelleştirdim ki yeni bir sunucuya ssh ile bağlanınca temel kullanımı unutuyorum
Şimdi varsayılan ayarlarla kullanıyorum. Yalnız fare kaydırma ayarını her seferinde değiştirmem gerekiyor
Bununla ilgili olarak The Lisp Curse diye bir kavram da var
Mesela Ctrl-b'yi olduğu gibi bırakıp Ctrl-space'i ek kısayol olarak kullanıyorum
iTerm2'de tmux'un Control Mode'una hayran kaldım
Yerel pencere yöneticisi olarak uzaktaki terminal pencerelerini kontrol edebiliyorsun
ghostty'de de bu özelliğin uygulanması üzerinde çalışılıyor; o yüzden umutluyum
tmux'un varsayılan prefix tuşu (C-b) pek çok kişiye garip geliyor ama bana göre bu gariplik bir avantaj
Yanlışlıkla basma ihtimali neredeyse yok
Bölme komutları da bana sezgisel geliyor —
%yatay çizgi,"ise dikey çizgi gibi hissettiriyorAyarları yeniden yüklemeyi sadece başlarda sık yapıyordum; artık neredeyse hiç yapmıyorum
İstersen
.tmux.confiçine ekleyebilirsin. Sadece yerelde kullanıyorsan çakışma derdin de olmaztmux'u seviyorum ama işin püf noktası, 400 satırlık bir ayar dosyası gerektirmesi
Varsayılan hali kullanıcı dostu değil ama üstünde çok çalışınca gerçekten harika oluyor
Ayar dosyam'a bakabilirsin
Gerekli olan sadece yaklaşık 9 kısayolu ezberlemekti
PowerShell sürümünü de eklemeyi düşünüyorum
Sadece prefix binding'ini eski haline çevirdim
Geçmişte bir hafta sonu “tmux 2: mouse-free productivity” kitabını okumuştum; üretkenliğim üzerinde en büyük etkiyi yapan kitaplardan biri oldu
Güncel sürümü de düzenli olarak güncelleniyor → tmux 3: productive mouse-free development