ขณะนี้ไม่มีวิธีโดยตรงในการรีเซ็ตการเชื่อมโยงของคีย์เป็นค่าเริ่มต้น การกำหนดค่าเริ่มต้นของการเชื่อมโยงเริ่มต้น ( key_bindings_init()
เป็น) จะกระทำหนึ่งครั้งเมื่อเซิร์ฟเวอร์tmuxเริ่มทำงานครั้งแรก (ในserver_start()
) และไม่มีกลไกในการรีเซ็ตคีย์เดียว
สำหรับสถานการณ์ที่คุณต้องการที่คุณต้องการการกระทำของการจัดหาแฟ้มการกำหนดค่าของคุณเพื่อกอบกู้เริ่มต้นที่มีผลผูกพันที่ถูกแทนที่โดยก่อนหน้านี้ที่กำหนดเองที่มีผลผูกพันที่มีตั้งแต่ถูกลบออกจากแฟ้มการกำหนดค่าของคุณวิธีการที่คุณวางแผนมีความสมเหตุสมผล ( แต่น่าเสียดายที่ verbose) unbind-key -a
, จากนั้นสร้างการเชื่อมโยง "เริ่มต้น" ทั้งหมดใหม่จากนั้นสร้างการผูกที่กำหนดเองของคุณ (บางรายการอาจแทนที่การเชื่อมโยง "เริ่มต้น")
การเชื่อมปัจจุบันของเซิร์ฟเวอร์สามารถแตกได้ด้วยlist-keys
คำสั่ง* ; สิ่งนี้สามารถช่วยสร้าง / บำรุงรักษา.tmux.reset.conf
ไฟล์ที่เสนอของคุณแต่คุณต้องการวิธีแยกการเชื่อมโยงเริ่มต้นไม่ใช่การเชื่อมปัจจุบัน
* มีบางสถานการณ์ที่การส่งออกของที่มีlist-keys
ผลผูกพันสำหรับอัฒภาคต้องการอัฒภาคมันหนีไปกับเครื่องหมายที่จะป้องกันไม่ให้มันจากการถูกตีความว่าเป็น: ขณะนี้ยังไม่สามารถใช้งานได้โดยตรงtmuxคั่นคำสั่งและการผูกใด ๆ ที่มีข้อโต้แย้งว่าใช้คำพูดสองภายในครั้งเดียวอัญประกาศ (ไม่มีการผูกค่าเริ่มต้นเช่นนี้) จะออกมาเป็นเครื่องหมายคำพูดคู่ภายในqoutes
สองครั้ง
ในการรับค่าเริ่มต้นการโยงคุณต้องมีเซิร์ฟเวอร์ชั่วคราวที่มีการกำหนดค่าขั้นต่ำ (เช่นไม่มีการผูกแบบกำหนดเอง) เพื่อให้คุณสามารถจับlist-keys
เอาท์พุทได้ ไม่มีการ จำกัด จำนวนของเซิร์ฟเวอร์tmux ที่คุณสามารถรันได้ แต่แต่ละเซิร์ฟเวอร์ต้องใช้ชื่อพา ธ ซ็อกเก็ตที่แตกต่างกัน -L
และ-S
tmuxตัวเลือกที่สามารถใช้ในการระบุชื่อซ็อกเก็ต (ใน$TMPDIR/tmux-$UID
หรือชื่อพา ธ ซ็อกเก็ตเต็มรูปแบบดังนั้นเพื่อพูดคุยกับ (หรือเริ่มต้น) เซิร์ฟเวอร์ใหม่บนซ็อกเก็ตที่มีชื่อ. temp
คุณจะใช้นี้
tmux -L temp …
เพื่อให้แน่ใจว่าไม่ได้ใช้ของ.tmux.conf
คุณคุณใช้-f
เพื่อบอกให้อ่าน/dev/null
(ไฟล์พิเศษที่ว่างเสมอ):
tmux -f /dev/null -L temp …
หมายเหตุ : สิ่งนี้ไม่ได้ป้องกันการประมวลผล/etc/tmux.conf
หากไฟล์ดังกล่าวมีอยู่; พา ธ ไปที่ "ไฟล์การกำหนดค่าระบบ" นี้มีการกำหนดค่าตายตัวและไม่มีตัวเลือกในการเลี่ยงผ่าน (ขาดการแพตช์โค้ด)
โดยปกติคุณต้องมีnew-session
คำสั่งเพื่อเริ่มเซิร์ฟเวอร์ แต่เราไม่ต้องการเซสชันใด ๆ เพียงแค่เซิร์ฟเวอร์เริ่มต้นเพื่อสอบถาม start-server
คำสั่งไม่เพียงแค่นั้น: เริ่มต้นเซิร์ฟเวอร์โดยไม่ต้องสร้างการประชุมใด ๆ
tmux -f /dev/null -L temp start-server …
ตอนนี้เราเพียงแค่ต้องผนวกคำสั่ง "แบบสอบถาม" ของเรา ( list-keys
ในกรณีนี้):
tmux -f /dev/null -L temp start-server \; list-keys
หมายเหตุ : เซมิโคลอนต้องถูกหลบหนีหรืออ้างถึงเพื่อป้องกันเชลล์ไม่ให้ถือเป็นตัวคั่นคำสั่งเชลล์เนื่องจากเราต้องการให้เป็นตัวคั่นคำสั่งtmux
เนื่องจากไม่มีเซสชันที่ต้องบำรุงรักษาเซิร์ฟเวอร์จะออกโดยอัตโนมัติหลังจากที่เสร็จสิ้นการรันlist-keys
คำสั่ง
ดังนั้นคุณสามารถใช้คำสั่งเช่นนี้เพื่อสร้างกลุ่มของคุณ.tmux.reset.conf
โดยไม่ต้องกังวลกับการลบ.tmux.conf
ไฟล์ของคุณชั่วคราว(เพื่อให้คุณเห็นแค่การผูกค่าเริ่มต้น) และไม่ต้องปิดเซิร์ฟเวอร์ที่มีอยู่
หากrun-shell
คำสั่งนั้นเป็นแบบซิงโครนัสคุณสามารถฝังการเรียกแบบนี้ในไฟล์กำหนดค่าของคุณ (การจับภาพไปยังไฟล์ชั่วคราวที่คุณจะประมวลผลด้วยsource-file
) แทนที่จะมีไฟล์สแตติก (ของคุณ.tmux.reset.conf
) ซึ่งจะช่วยให้คุณใช้การเชื่อมโยงดีฟอลต์จากtmuxเวอร์ชันปัจจุบันของคุณเสมอ(การเชื่อมโยงดีฟอลต์เปลี่ยนแปลงเป็นครั้งคราว) อนิจจาความสมบูรณ์ของrun-shell
คำสั่งในปัจจุบันไม่ตรงกันกับคำสั่งที่ตามมา (คำสั่งที่มาหลังจากrun-shell
คำสั่งมักจะทำงานก่อนที่กระบวนการวางไข่โดยrun-shell
มีโอกาสที่จะเสร็จสิ้น)