/ / Tmux'un durum çubuğundaki ZSH özel işlevinin çıktısını kullanabilir miyim? - zsh, tmux

Tmux'un durum çubuğundaki ZSH özel işlevinden gelen çıktıyı kullanabilir miyim? - zsh, tmux

zsh

~ / .Zshrc içinde bir işlev tanımladım:

foo() { print "FOO" }

Ben "Tmux durum çubuğundaki çıktısını almak istiyorum. Bunu ~ / .tmux.conf ekledi:

set -g status-right "foo: #(foo)"

Ama bunun sadece statik kısmını görüyorum; işlev çıkışı eksik. (Gerçek işlevim daha karmaşık olsa da, bu yukarıdaki önemsiz örnek için bile geçerlidir.)

Bir işlev yerine bir komut dosyası çağırdığımda iyi çalışıyor. Fark nedir? Orada bir işlev kullanmak mümkün müdür?

Yanıtlar:

7 cevap için № 1

Bu tmux için man sayfası durumları set seçeneği:

#(shell-command) Komutun çıktısının ilk satırı

Ama eminim ki bu kabuk demek değil Fonksiyonları,, Çünkü tmux yürütmeyecek shell-command mevcut kabuk oturumunda, ancak şu şekilde başlayan yeni bir örnek başlatın etkileşimli olmayan, bu nedenle ~/.zshrc config ve böylece burada tanımlanan fonksiyonlar hakkında bilgi sahibi değildir.

Etrafında çalışmak için bir kabuk oluşturabilirsiniz senaryo, adlı foo

#!/bin/zsh -f

source ~/.zshrc   # or just the desired function to save parsing time
# use some functions defined in ~/.zshrc

print "FOO"

İlgili sorular
Yorumlar
Yorum ekle