İşletim sistemine bağlı tmux yapılandırması


Yanıtlar:


51

if-shellKomutu kullanın :

if-shell "uname | grep -q Darwin" "tmux-cmd1; tmux-cmd2;" "tmux-cmd3; tmux-cmd4"

İşletim sistemine özgü komutları ayrı dosyalara koymak ve "kaynak dosya" komutu ile çalıştırmak isteyebilirsiniz.

if-shell "uname | grep -q Darwin" "source-file .tmux-macosx" "source-file .tmux-linux"

8
if-shellVe run-shell tmux komutları (itibariyle henüz uyumsuz olan tmux 1.7); kabuk komutlarını arka planda etkin bir şekilde çalıştırırlar ve çalıştırdıkları tmux komutları yalnızca veya komutunun kendisinden sonra gelen komutlardan sonra çalıştırılır ( tmux tek dişlidir). Etkili, kullanmak durumunda veya içinde , ilk oturumu (ve herhangi oturumları, pencereler veya bölmeleri açıkça üzerinden oluşturulan oluşturulan ) Herhangi yoksun olacak tmux yapılandırma aracılığıyla düzenlenebilir veya komutlar. if-shellrun-shellif-shellrun-shell~/.tmux.conf~/tmux.confif-shellrun-shell
Chris Johnsen,

1
@ ChrisJohnsen if-shelltmux 1.8 ile benim için beklendiği gibi çalışıyor. Bunu sadece SSH için set-başlıkları-dizgisini ayarlamak için kullanıyorum: github.com/blueyed/dotfiles/commit/…
blueyed

2
Bu kabul edilmelidir; Bunu yapmanın doğru yolu.
Chev

11

Cevap , Jimeh https://github.com/jimeh/dotfiles/commit/3838db8 . Ayrıca Chris Johnsen, burada GitHub konusunda insanlara yardım etmekten büyük bir hak kazanıyor: https://Github.com/ChrisJohnsen/tmux-MacOSX-pasteboard/issues/8#issuecomment-4134987

Temel olarak, safe-reattach-to-user-namespacegerçek reattach ... komutunun varlığını kontrol eden bir kabuk betiği kurdunuz .

#! /usr/bin/env bash

# If reattach-to-user-namespace is not available, just run the command.
if [ -n "$(command -v reattach-to-user-namespace)" ]; then
  reattach-to-user-namespace $@
else
  exec "$@"
fi
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.