tmux ignorando il file di configurazione


88

Ho appena installato tmux su Ubuntu 10.04 e ho provato a rimappare la chiave del prefisso C-acreando il file ~/.tmux.confcon queste linee:

set-option -g prefix C-a
unbind-key C-b

Quando si avvia tmux, sia regolarmente che con -f ~/.tmux.conf, il prefisso è effettivamente lo stesso valore predefinitoC-b

Non ci sono errori o avvisi di sorta.

Qualche idea di cosa c'è che non va nel caricamento della conf?


Funziona per me ™. Prova a correre strace -s9999 -f -o tmux.strace tmux -c truee pubblica l'output di grep -C5 'tmux\.conf' tmux.strace.
Gilles,

Ho avuto lo stesso problema, nessuna sessione esistente, ("tmux ls" ha riferito che la connessione è stata rifiutata, cioè non è in esecuzione), ma non è stato ancora letto il file conf. Lo stavo lanciando con un CWD da qualche parte in / usr, ma quando sono passato a ~ / e ho lanciato tmux, ha elaborato il file conf. È un comportamento strano, ma è qualcosa da controllare.
Ranko Kohime,

Risposte:


119

Il file ~ / .tmux.conf viene caricato al primo avvio del server tmux. Quindi, se esistono sessioni tmux esistenti, l'avvio di una nuova sessione con tmuxnon comporta il ricaricamento del file .tmux.conf. Prova a riavviare tmux server: usa il comando tmux list-sessionsper vedere se ci sono sessioni esistenti. Esci da loro (es. tmux attachQuindi uccidi tutte le finestre ed esci). Una volta terminate tutte le sessioni, riprovare tmux. Questa volta il rebinding dovrebbe funzionare.


27
killall tmuxo tmux kill-serverfinirà anche il lavoro
Matt

5
Ho usato killall tmuxe tmux kill-serverancora il mio conf non è caricato. Posso confermare che è valido, poiché l'utilizzo :source-file ~/.tmux.confin tmux in realtà apporta le modifiche alla configurazione! Non riesco a capire cosa sta causando questo comportamento.
Ambidex,

Mi chiedo perché ricaricare la configurazione non sia stato menzionato in questa risposta. A volte funziona e talvolta no. Qualche idea su questo?
DarthPaghius,

53

Per ricaricare ~ / .tmux.conf senza uccidere la sessione, puoi semplicemente fare:

C-b :source-file /absolute/path/to/your/.tmux.conf

4
È possibile aggiungere quanto segue a .tmux.conf per utilizzare Ctrl-A r per ricaricare:bind r source-file ~/.tmux.conf \; display-message "Config reloaded..."
RedPixel

+1 per indicare la necessità del percorso assoluto
Akash Agarwal,

20

corri nella tua sessione di tmux:

tmux source-file /absolute/path/to/your/.tmux.conf

Nota: questo non influenzerà l'attuale finestra di tmux (ovviamente), ma tutte le nuove finestre di tmux.
Klaws,

3

C'è anche una scorciatoia da tastiera predefinita vincolante per ricaricare il vostro ~/.tmux.conf, almeno nella mia installazione: C-b r. Se lo colpisci, C-b ?viene visualizzato un elenco di tutte le scorciatoie da tastiera associate, in modo da poter vedere se ne hai già definito uno.


Questo è specifico per la tua installazione / configurazione. Per impostazione predefinita, <prefix> rè vincolato a refresh-client(ciò che descrivi sarebbe qualcosa di simile source ~/.tmux.conf).
Chris Johnsen,

1

Ho avuto questo problema perché stavo usando tmux-next .

Inizialmente l'ho risolto semplicemente passando il file di configurazione in modo esplicito tmux -f ~/.tmux.confcome la domanda qui sottolinea. (Avevo già alias tmux-next to tmux.)

Poi ho capito che tmux-next sta usando tmux-next.conf, quindi basta collegarlo a symlink se lo si utilizza e solo eseguire la prossima versione di tmux.

ln -s ~/.tmux.conf ~/.tmux-next.conf


1

Ho lasciato e riaperto il mio terminale ed è l'unico modo per farlo funzionare di nuovo. Non so perché.

utilizzando Terminal su Mac OSX

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.