จะส่งคำสั่งไปยังเซสชัน tmux ที่ซ้อนกันได้อย่างรวดเร็วได้อย่างไร?


30

ฉันมีดังต่อไปนี้ใน. tmux.conf ของฉัน

set -g prefix M-j
bind-key j  send-prefix

ฉันต้องกด ( Atl+ J) + ( J) + bound-key เพื่อส่งบางอย่างไปยังเซสชัน tmux ที่ซ้อนกัน ฉันรู้สึกว่ามันค่อนข้างช้า มีวิธีใดที่ดีกว่า ตัวอย่างเช่นฉันชอบที่จะทำ ( Alt+ J) + (2x คีย์ - ขอบเขต) เพื่อทำสิ่งต่าง ๆ ในเซสชันที่ซ้อนกัน ฉันรันคำสั่งอย่างต่อเนื่องในเซสชั่น tmux ด้านบนแทนการรันคำสั่งในที่ซ้อนกัน แล้วทำไมทุกคนprefixต้องผูกมัดC-a? ฉันพบว่ามันช้ามากและไม่เป็นที่พอใจในการพิมพ์ชุดค่าผสมนี้ ฉันพลาดอะไรไปรึเปล่า?


ในขณะที่ฉันไม่ชอบ Ctrl-A ความคิดเห็นของคุณเกี่ยวกับความไม่พอใจแสดงให้เห็นว่าพิ้งกี้ของคุณกำลังเอื้อมมือไปที่ปุ่มควบคุม ถ้าเป็นเช่นนั้นคุณอาจพิจารณาทำการแมปใหม่ capslock เป็นปุ่มควบคุม - นี่คือสิ่งที่ฉันทำเพื่อให้การบิดนิ้วของฉันอยู่ภายใต้การควบคุมแล้ว Ctrl + A ก็ท้าทายน้อยลงเช่นกัน
Stabledog

@Stabledog สมมติว่าคุณถูกต้อง อย่างไรก็ตามฉันแมป Capslock กับ ESC คุณกด capslock + a ได้อย่างไร?
Rolf

คอมโบ Ca ใช้ชีวิตจากหน้าจอ GNU ซึ่งมีมาก่อน tmux
Kusalananda

คำตอบ:


33

กดปุ่มน้อยกว่าหนึ่งครั้งเพื่อส่งคำสั่งไปยังเซสชันที่ซ้อนกันของคุณหากคุณเลือกคีย์อื่น ฉันใช้Ctrltสำหรับคำนำหน้ามาตรฐานของฉันและCtrlaสำหรับเซสชันที่ซ้อนกัน

# set prefix key to ctrl+t
unbind C-b
set -g prefix C-t

# send the prefix to client inside window
bind-key -n C-a send-prefix

โปรดทราบว่าฉันใช้-nสวิตช์ จากรายการ bind-key ในman tmux:

หากระบุ -n ไม่จำเป็นต้องใช้คีย์คำนำหน้าคำสั่งถูกผูกไว้กับคีย์เพียงอย่างเดียว

ดังนั้นเป็นตัวอย่างCtrlt, cเปิดหน้าต่างใหม่ใน tmux; Ctrla, cไม่เหมือนกันในเซสชั่นที่ซ้อนกัน


! น่ากลัว ทำให้เซสชันซ้อนกันจริงเร็วเท่าเซสชันปกติ
Rolf

1
ไม่จำเป็นต้องยกเลิกการผูกC-bหากคุณคุ้นเคย bind-key -n C-a send-prefixควรจะเพียงพอ
utapyngo

0

เหตุผลสำหรับ ctrl-a คือแฮกเกอร์ Unix ส่วนใหญ่ (ที่ฉันรู้อย่างน้อย) ทำการแมปตัวควบคุมการล็อกใหม่ นั่นทำให้ ctrl ทั้งหมดทำงานเร็วขึ้นโดยเฉพาะ ctrl-a


2
ใช่อย่างที่ฉันพูดไว้ในความคิดเห็นก่อนหน้านี้ข้างต้น: คุณมีคนกด capslock + a บนโลกนี้ได้อย่างไร? ฉันใช้พิ้งกี้เพื่อกดอันใดอันหนึ่ง
Rolf
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.