Bir anahtarın bağlamasını varsayılan ayarlarına sıfırlamanın doğrudan bir yolu yoktur; tmux sunucusu ilk kez başlatıldığında (in ) varsayılan bağlamaların (in key_bindings_init()) başlatılması bir kez yapılır ve tek bir anahtarı sıfırlama mekanizması yoktur.server_start()
Daha önce beri yapılandırma dosyasından silindiğini bağlama özel bir tarafından geçersiz olduğunu bağlayıcı varsayılan yeniden kurmak için yapılandırma dosyasını kaynak eylemini istediğiniz istenen senaryo için, icat yöntemi (gerçi maalesef ayrıntılı) makul: unbind-key -a, sonra tüm “varsayılan” bağlantıları yeniden kurun, sonra özel ciltlerinizi oluşturun (bazıları “varsayılan” bir bağlayıcıyı geçersiz kılabilir).
Bir sunucunun mevcut bağlantıları *list-keys komutu ile çıkarılabilir ; bu, önerilen dosyanızı oluşturmanıza / korumanıza yardımcı olabilir , ancak geçerli bağlantıları değil, varsayılan bağlantıları çıkarmak için bir yola ihtiyacınız var ..tmux.reset.conf
* list-keysÇıktısının şu anda doğrudan kullanılamadığı bazı durumlar vardır : noktalı virgül için bağlayıcı, bir tmux komut ayırıcısı olarak yorumlanmasını önlemek için ters eğik çizgiyle kaçış noktalı virgülünü ve tekli içinde çift tırnak kullanan argümanları olan bağları kaldırmasını gerektirir. tırnak (varsayılan bağlamaların hiçbiri böyle değildir), çift tırnak içinde çift tırnak olarak çıkar.
Varsayılan ciltleri elde etmek için, minimum bir konfigürasyona sahip (yani özel ciltleme yok) geçici bir sunucuya ihtiyacınız vardır, böylece list-keysçıktısını alabilirsiniz. Çalıştırabileceğiniz tmux sunucularının sayısında bir sınır yoktur , ancak her birinin farklı bir soket yol adı kullanması gerekir; -Lve -S tmux seçenekleri de soket adını (belirtmek için kullanılabilir $TMPDIR/tmux-$UID. adında bir soket üzerinde yeni bir sunucu) konuş, ya da tam soket yol adını So (veya başlangıç temp, bunu kullanırsınız:
tmux -L temp …
Emin senin kullanmaz hale getirmek için .tmux.conf, kullandığınız -fokumak için söylemek /dev/null(her zaman boş olan özel bir dosyayı):
tmux -f /dev/null -L temp …
Not : Bu, /etc/tmux.confböyle bir dosyanın varlığının işlenmesini engellemez ; Bu “sistem konfigürasyon dosyası” nın yolu kodlanmış ve onu atlamak için bir seçenek yok (kodun eklenmesi).
Normalde, new-sessionsunucuyu gerçekten başlatmak için bir komut gerekir , ancak herhangi bir oturum istemiyoruz, yalnızca başlatılmış bir sunucuyu sorgulamak istiyoruz. start-serverHerhangi oturumları yaratmadan bir sunucu başlar: komut yok sadece.
tmux -f /dev/null -L temp start-server …
Şimdi, sadece "query" komutumuzu eklememiz gerekiyor ( list-keysbu durumda):
tmux -f /dev/null -L temp start-server \; list-keys
Not : Kabuğun bir tmux komut ayırıcısı olmasını istediğimizden, kabuğun bir kabuk komut ayırıcı olarak işlem görmesini önlemek için noktalı virgülün kaçması veya alıntılanması gerekir .
Korunacak oturum olmadığından, list-keyskomutu çalıştırmayı bitirdikten sonra sunucu otomatik olarak kapanacaktır .
Böylece, dosyalarınızı .tmux.reset.confgeçici olarak kaldırma konusunda endişelenmenize gerek kalmadan .tmux.conf(yalnızca varsayılan bağlantıları görebilmeniz için) ve mevcut sunucuları kapatmadan endişelenmenize gerek kalmadan , bunun gibi bir komut kullanabilirsiniz .
run-shellKomut senkronize olsaydı, böyle bir çağrıyı source-file, statik bir dosyaya (sizin .tmux.reset.conf) koymak yerine, konfigürasyon dosyasına (sonradan işleyeceğiniz geçici bir dosyaya yakalayarak) gömebilirsiniz . Bu, her zaman geçerli tmux sürümünüzden varsayılan bağlayıcıları kullanmanıza izin verir (varsayılan bağlayıcılar zaman zaman değişir). Ne yazık ki, run-shellkomutun tamamlanması sonraki komutlarla ilgili olarak şu anda asenkrondir (bir run-shellkomuttan sonra gelen komutlar genellikle tarafından oluşturulan süreç run-shellbitirme şansına sahip olmadan önce çalışacaktır ).