tmux ไม่สนใจไฟล์คอนฟิกูเรชัน


87

ฉันเพิ่งติดตั้ง tmux บน Ubuntu 10.04 และพยายามทำการ remap key prefix C-aโดยสร้างไฟล์~/.tmux.confด้วยบรรทัดเหล่านี้:

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

เมื่อเริ่มต้น tmux ทั้งประจำและด้วย-f ~/.tmux.confคำนำหน้าจะเป็นค่าเริ่มต้นเดียวกันอย่างมีประสิทธิภาพC-b

ไม่มีข้อผิดพลาดหรือคำเตือนใด ๆ

มีความคิดอะไรที่ผิดปกติกับการโหลดของ conf?


มันทำงานได้ดีสำหรับฉัน™ ลองใช้และโพสต์การส่งออกของstrace -s9999 -f -o tmux.strace tmux -c true grep -C5 'tmux\.conf' tmux.strace
Gilles

ฉันมีปัญหาเดียวกันนี้ไม่มีเซสชันที่มีอยู่ ('tmux ls' รายงานการเชื่อมต่อถูกปฏิเสธไม่ทำงาน) แต่ก็ยังไม่ได้อ่านไฟล์ conf ฉันเปิดตัวด้วย CWD ที่ไหนสักแห่งใน / usr แต่เมื่อฉันเปลี่ยนเป็น ~ / และเปิดตัว tmux มันจะประมวลผลไฟล์ conf มันเป็นพฤติกรรมแปลก ๆ แต่นั่นเป็นสิ่งที่ต้องตรวจสอบ
Ranko Kohime

คำตอบ:


118

ไฟล์ ~ / .tmux.conf ถูกโหลดเมื่อเซิร์ฟเวอร์ tmux เริ่มทำงานครั้งแรก ดังนั้นหากมีเซสชัน tmux อยู่แล้วการเริ่มเซสชันใหม่ด้วยtmuxจะไม่ส่งผลให้โหลดไฟล์. tmux.conf อีกครั้ง ลองรีสตาร์ทเซิร์ฟเวอร์ tmux: ใช้คำสั่งtmux list-sessionsเพื่อดูว่ามีเซสชันอยู่หรือไม่ ออกจากพวกเขา (เช่นtmux attachจากนั้นฆ่าหน้าต่างทั้งหมดแล้วออก) เมื่อหมดเซสชันแล้วให้ลองtmuxอีกครั้ง เวลานี้การ rebinding ควรทำงาน


27
killall tmuxหรือtmux kill-serverจะทำงานให้สำเร็จด้วย
แมตต์

5
ฉันใช้killall tmuxและtmux kill-serverและยังคงความเชื่อมั่นของฉันไม่ได้โหลด ฉันสามารถยืนยันได้ว่าถูกต้องเนื่องจากการใช้:source-file ~/.tmux.confใน tmux จะทำการเปลี่ยนแปลงการตั้งค่าจริง ๆ ! ไม่สามารถหาสาเหตุที่ทำให้เกิดพฤติกรรมนี้
Ambidex

ฉันสงสัยว่าทำไมการโหลดการกำหนดค่าไม่ได้กล่าวถึงในคำตอบนี้ บางครั้งมันใช้งานได้และบางครั้งก็ใช้ไม่ได้ ความคิดใด ๆ
DarthPaghius

53

หากต้องการโหลด ~ / .tmux.conf โดยไม่ฆ่าเซสชันคุณสามารถทำได้โดยทำดังนี้

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

4
คุณสามารถเพิ่มค่าต่อไปนี้เป็น. tmux.conf เพื่อใช้ Ctrl-A r เพื่อโหลดซ้ำ:bind r source-file ~/.tmux.conf \; display-message "Config reloaded..."
RedPixel

+1 สำหรับการชี้ให้เห็นถึงความจำเป็นของเส้นทางที่แน่นอน
Akash Agarwal

20

ทำงานในเซสชั่น tmux ของคุณ:

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

หมายเหตุ: สิ่งนี้จะไม่ส่งผลกระทบต่อหน้าต่าง tmux ปัจจุบัน (ชัด) แต่เป็นหน้าต่าง tmux ใหม่ทั้งหมด
Klaws

3

นอกจากนี้ยังมีแป้นพิมพ์ลัดเริ่มต้นที่มีผลผูกพันในการโหลดของคุณอย่างน้อยในการติดตั้งของฉัน:~/.tmux.conf C-b rหากคุณกดปุ่มC-b ?จะแสดงรายการแป้นพิมพ์ลัดที่ถูกผูกไว้ทั้งหมดเพื่อให้คุณสามารถดูว่าคุณได้กำหนดไว้แล้ว


เฉพาะสำหรับการติดตั้ง / กำหนดค่าของคุณ โดยค่าเริ่มต้น<prefix> rถูกผูกไว้กับrefresh-client(สิ่งที่คุณอธิบายจะเป็นเหมือนsource ~/.tmux.conf)
Chris Johnsen

1

ฉันมีปัญหานี้เพราะผมใช้tmux ต่อไป

ตอนแรกฉันแก้ไขมันโดยการส่งไฟล์ปรับแต่งอย่างชัดเจนtmux -f ~/.tmux.confเนื่องจากคำถามที่นี่ชี้ให้เห็น (ฉันได้ใช้นามแฝง tmux ถัดจาก tmux แล้ว)

จากนั้นฉันก็รู้ว่า tmux-next กำลังใช้ tmux-next.conf ดังนั้นเพียงแค่เชื่อมโยงมันหากใช้สิ่งนี้และจะต้องเรียกใช้รุ่น tmux ถัดไปเท่านั้น

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


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.