Saya baru saja menginstal tmux pada Ubuntu 10,04 dan mencoba untuk memetakan ulang kunci awalan C-a
dengan membuat file ~/.tmux.conf
dengan 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?
strace -s9999 -f -o tmux.strace tmux -c true
dan posting output darigrep -C5 'tmux\.conf' tmux.strace
.Jawaban:
File ~ / .tmux.conf dimuat ketika server tmux pertama kali dimulai. Jadi, jika ada sesi tmux yang ada, memulai sesi baru dengan
tmux
tidak menghasilkan reload file .tmux.conf. Coba mulai ulang server tmux: Gunakan perintahtmux list-sessions
untuk melihat apakah ada sesi yang ada. Keluar dari mereka (mis.tmux attach
Bunuh semua jendela dan keluar). Setelah semua sesi hilang, cobatmux
lagi. Kali ini pemberontakan harus bekerja.sumber
killall tmux
atautmux kill-server
akan menyelesaikan pekerjaan jugakillall tmux
dantmux kill-server
dan masih conf saya tidak dimuat. Saya dapat mengkonfirmasi itu valid, karena menggunakan:source-file ~/.tmux.conf
tmux sebenarnya membuat perubahan konfigurasi! Tidak tahu apa yang menyebabkan perilaku ini.Untuk memuat ulang ~ / .tmux.conf Anda tanpa mematikan sesi Anda, Anda dapat melakukannya:
sumber
bind r source-file ~/.tmux.conf \; display-message "Config reloaded..."
jalankan di dalam sesi tmux Anda:
sumber
Ada juga shortcut keyboard standar mengikat untuk reload Anda
~/.tmux.conf
, setidaknya dalam instalasi saya:C-b r
. Jika Anda menekannyaC-b ?
memunculkan daftar semua pintasan keyboard terikat, sehingga Anda dapat melihat apakah Anda telah menetapkannya.sumber
<prefix> r
terikat kerefresh-client
(seperti apa yang Anda gambarkansource ~/.tmux.conf
).Saya punya masalah ini karena saya menggunakan tmux-next .
Awalnya saya menyelesaikannya hanya dengan mengirimkan file konfigurasi secara eksplisit
tmux -f ~/.tmux.conf
seperti 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
sumber
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
sumber