Obecnie domyślnym tytułem jest reattach-to-user-namespace
(OS X), co jest dość denerwujące. Czy istnieje opcja mogę umieścić w moim tmux.conf
dostać inny domyślny tytuł?
Jeśli nie, w jaki sposób utworzę powiązanie klucza, które tworzy nowe okno, a następnie monituje mnie o nazwę?
set-option -g default-command "reattach-to-user-namespace -l zsh"
i przez większość czasu okno jest nazywanezsh
zgodnie z życzeniem. Z nieznanych powodów czasami nazwa się nie zmienia, a okno zostaje wywołanereattach-to-user-namespace
. Nadal nie zauważyłem wzorca określającego, kiedy / dlaczego tak się dzieje, ale wygląda na to, że może istnieć subtelny błąd lub coś w mojej konfiguracji.Odpowiedzi:
Nie ma globalnej domyślnej nazwy okna, która byłaby stosowana do wszystkich nowych okien; domyślnie (część) pierwszego „słowa” polecenia (lub domyślnej powłoki, jeśli nie ma polecenia). Twoje okna są domyślnie
reattach-to-user-namespace
ustawione nadefault-command
wartość domyślną, ponieważ jest to pierwszy interesujący element Twojej wartości.To byłoby trochę dookoła, ale możesz umieścić domyślne polecenie w skrypcie powłoki i
default-command
zamiast tego skierować go na ten skrypt. W tej konfiguracji domyślna nazwa okna (dla okien utworzonych bez jawnego polecenia) będzie taka, jak nazwa skryptu powłoki.W przeciwnym razie istnieje kilka sposobów ręcznego nazwania / zmiany nazwy okna:
W czasie tworzenia z
-n
:Możesz ponownie powiązać
c
(domyślny klucz używany do utworzenia okna), aby uwzględnić wybraną „domyślną nazwę”:Zmień nazwę istniejącego okna:
Istnieje również domyślne powiązanie (Prefiks
,
), które monituje o podanie nowej nazwy i zmianę nazwy okna.Zmień nazwę okna za pomocą „sekwencji ucieczki” wysłanej do tty panelu:
Twoje „monituj mnie o nazwę nowego okna” można wykonać w następujący sposób (monit przed lub po utworzeniu okna):
źródło
set-option -g default-command "tmux rename-window base; reattach-to-user-namespace -l zsh"
ustawia domyślny tytułbase
. Możesz dodać to do swojej odpowiedzi. :)tmux wybiera pierwsze polecenie jako nazwę okna.
Powiedzmy, że chcesz, aby „i” był domyślnym tytułem, możesz go oszukać w ten sposób.
To jest lepsze niż
ponieważ jeśli utworzysz panel po ręcznym ustawieniu tytułu okna, nazwa zostanie ponownie zmieniona na „i”.
źródło
Oprócz odpowiedzi Chrisa na ustawienie tytułu okna za pomocą
new window -n 'somename'
, możesz również podać pusty ciąg''
jako nazwę okna. W ten sposób mogę użyć domyślnego skrótu (przedrostek + c) i nie muszę wymyślać nazwy dla tymczasowych okien, ale nadal mogę zmienić ich nazwy, jeśli to konieczne:bind-key c new-window -n ''
źródło
Naprawdę nie odpowiedź to więcej niż włamanie:
Utworzyłem dowiązanie symboliczne z
sudo ln -s /usr/local/bin/reattach-to-user-namespace /usr/local/bin/pbash
A teraz jest wyświetlany jako
pbash
domyślny tytuł.źródło