tmux mengabaikan file konfigurasi

88

Saya baru saja menginstal tmux pada Ubuntu 10,04 dan mencoba untuk memetakan ulang kunci awalan C-adengan membuat file ~/.tmux.confdengan baris berikut:

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

Saat memulai tmux, baik secara teratur maupun dengan -f ~/.tmux.conf, awalan secara efektif adalah default yang samaC-b

Tidak ada kesalahan atau peringatan apa pun.

Adakah yang tahu apa yang salah dengan memuat conf?

GJ.
sumber
Ini Bekerja Untuk Saya ™. Coba jalankan strace -s9999 -f -o tmux.strace tmux -c truedan posting output dari grep -C5 'tmux\.conf' tmux.strace.
Gilles
Saya memiliki masalah yang sama, tidak ada sesi yang ada, (koneksi dilaporkan 'tmux ls' menolak, yaitu tidak berjalan), tetapi masih belum membaca file conf. Saya meluncurkannya dengan CWD di suatu tempat di / usr, tetapi ketika saya beralih ke ~ / dan meluncurkan tmux, itu memproses file conf. Itu perilaku yang aneh, tapi itu sesuatu yang perlu diperiksa.
Ranko Kohime

Jawaban:

119

File ~ / .tmux.conf dimuat ketika server tmux pertama kali dimulai. Jadi, jika ada sesi tmux yang ada, memulai sesi baru dengan tmuxtidak menghasilkan reload file .tmux.conf. Coba mulai ulang server tmux: Gunakan perintah tmux list-sessionsuntuk melihat apakah ada sesi yang ada. Keluar dari mereka (mis. tmux attachBunuh semua jendela dan keluar). Setelah semua sesi hilang, coba tmuxlagi. Kali ini pemberontakan harus bekerja.

Michael
sumber
27
killall tmuxatau tmux kill-serverakan menyelesaikan pekerjaan juga
Matt
5
Saya menggunakan killall tmuxdan tmux kill-serverdan masih conf saya tidak dimuat. Saya dapat mengkonfirmasi itu valid, karena menggunakan :source-file ~/.tmux.conftmux sebenarnya membuat perubahan konfigurasi! Tidak tahu apa yang menyebabkan perilaku ini.
Ambidex
Saya bertanya-tanya mengapa memuat ulang konfigurasi tidak disebutkan dalam jawaban ini. Terkadang berhasil dan terkadang tidak. Ada ide tentang itu?
DarthPaghius
53

Untuk memuat ulang ~ / .tmux.conf Anda tanpa mematikan sesi Anda, Anda dapat melakukannya:

C-b :source-file /absolute/path/to/your/.tmux.conf
peroumal1
sumber
4
Anda dapat menambahkan yang berikut ini ke .tmux.conf untuk menggunakan Ctrl-A r untuk memuat ulang:bind r source-file ~/.tmux.conf \; display-message "Config reloaded..."
RedPixel
+1 untuk menunjukkan perlunya jalur absolut
Akash Agarwal
20

jalankan di dalam sesi tmux Anda:

tmux source-file /absolute/path/to/your/.tmux.conf
HVNMencintai
sumber
Catatan: ini tidak akan memengaruhi jendela tmux saat ini (jelas), tetapi semua jendela tmux baru.
Klaws
3

Ada juga shortcut keyboard standar mengikat untuk reload Anda ~/.tmux.conf, setidaknya dalam instalasi saya: C-b r. Jika Anda menekannya C-b ?memunculkan daftar semua pintasan keyboard terikat, sehingga Anda dapat melihat apakah Anda telah menetapkannya.

Josh Earl
sumber
Itu khusus untuk instalasi / konfigurasi Anda. Secara default, <prefix> rterikat ke refresh-client(seperti apa yang Anda gambarkan source ~/.tmux.conf).
Chris Johnsen
1

Saya punya masalah ini karena saya menggunakan tmux-next .

Awalnya saya menyelesaikannya hanya dengan mengirimkan file konfigurasi secara eksplisit tmux -f ~/.tmux.confseperti pertanyaan di sini. (Saya sudah tmux alias disamping tmux.)

Kemudian saya menyadari tmux-next menggunakan tmux-next.conf, jadi simlink saja jika menggunakan ini dan hanya perlu menjalankan versi tmux berikutnya.

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

mahemoff
sumber
1

Saya berhenti dan membuka kembali terminal saya dan itulah satu-satunya cara saya bisa membuatnya bekerja lagi. Tidak yakin kenapa.

menggunakan Terminal di Mac OSX

Connor McCormick
sumber