คีย์ที่ถูกต้องสำหรับ tmux คืออะไร


20

ฉันพยายามที่จะเรียนรู้วิธีการใช้งานที่bind-key [-cnr] [-t key-table] key command [arguments]ดีขึ้น แต่มีปัญหาในการหาคำสั่ง" คีย์ที่ถูกต้อง" สำหรับbind-keyคำสั่ง

ฉันพยายามทำman tmuxและ Google ด้วย แต่ฉันก็ไม่พบว่ามีประโยชน์อะไร

  • ฉันจะทราบได้อย่างไรว่าไวยากรณ์สำหรับคีย์ที่ถูกต้องคืออะไร
  • มีคำสั่งช่วยเหลือหรือmanหน้านี้หรือไม่?
  • บางทีฉันอาจไม่รู้คำศัพท์ทางเทคนิคสำหรับคีย์ที่ถูกต้องนี้มีคำสำหรับคีย์เหล่านี้เพื่อให้ฉันสามารถทำการค้นหา google ได้ดีขึ้นหรือไม่

ตัวอย่างเช่นฉันพยายามที่จะเข้าใจความหมายของคำสั่งการแมปต่อไปนี้:

bind-key -n M-S-Left resize-pane -L 2
bind-key -n M-S-Right resize-pane -R 2
bind-key -n M-S-Up resize-pane -U 2
bind-key -n M-S-Down resize-pane -D 4

-nเป็นเรื่องง่ายที่จะหาในmanหน้า (ไม่จำเป็นต้องมีคำนำหน้า) แต่ฉันไม่สามารถเข้าใจความM-S-Leftหมายที่สำคัญ

ฉันเดาว่าการเปลี่ยนการแมปและลูกศรซ้ายบวกMกับresize-pane -L 2คำสั่งใด ๆ ก็ตาม

  • ฉันจะเข้าใจความMหมายของสิ่งได้อย่างไร
  • ถ้าฉันต้องการควบคุม + อะไรก็ตามที่ฉันต้องการ คือการควบคุม = C?
  • ฉันจะคิดออกได้อย่างไรโดยไม่ลองใช้ปุ่มสุ่มบนแป้นพิมพ์จนกว่าจะมีบางอย่างใช้งานได้
  • นอกจากนี้ฉันจะยืนยันได้อย่างไรว่าฉันไม่ได้จับคู่กับชุดคีย์ที่ใช้ไปแล้วหรือไม่
  • มีสิ่งเช่น "แสดงชื่อแทนทั้งหมด" หรือบางสิ่งบางอย่างหรือไม่?
  • นอกเหนือจากคำถามแล้วคีย์ที่ถูกต้องเหล่านี้เหมือนกับที่ใช้สำหรับvimหรือไม่?

สิ่งที่vimดูเหมือนจะมีสคริปต์ที่แตกต่างกันสำหรับภาษาของตัวเองเพราะบางครั้งมันต้องการและสิ่ง


2
M ย่อมาจาก Meta ซึ่งเป็นปุ่ม Alt บนแป้นพิมพ์ PC
schaiba

1
ขอบคุณสำหรับตัวอย่างที่เฉพาะเจาะจง! แต่จะเป็นการดีหากได้รู้โดยทั่วไปว่าจะสามารถคิดสิ่งต่าง ๆ เหล่านี้ด้วยตัวเองได้อย่างไรโดยไม่ต้องมาที่ stachexchange เพื่อขอกุญแจแต่ละอันที่ฉันต้องการ
Pinocchio

1
ฉันหวังว่าฉันจะตอบคำถามของคุณ :) ฉันจะพยายามหาคำตอบสำหรับvimคำถาม :)
polym

ใช่มันได้! มันยอดเยี่ยมมาก! ขอบคุณ! :) มันไม่ให้ฉันยอมรับ cuz คุณตอบดังนั้นหลังจากฉันโพสต์คำถาม ฮ่า ๆ :) ขอบคุณอีกครั้ง :)
Pinocchio

1
ฮ่าฮ่าไม่มีปัญหาอะไร :) tmuxมันยอดเยี่ยม!
polym

คำตอบ:


24

กุญแจที่มีอยู่

มองไปที่man tmuxการค้นหา/สำหรับKEY BINDINGS:

tmux อนุญาตให้คำสั่งถูกผูกไว้กับคีย์ส่วนใหญ่โดยมีหรือไม่มีคีย์คำนำหน้า

เมื่อระบุคีย์ส่วนใหญ่เป็นตัวแทนของตัวเอง (เช่น 'A' ถึง 'Z') ปุ่ม Ctrl อาจนำหน้าด้วย 'C-' หรือ '^' และ Alt (meta) ด้วย 'M-'

นอกจากนี้ยังยอมรับชื่อคีย์พิเศษต่อไปนี้:

ขึ้น, ลง, ซ้าย, ขวา, BSpace, BTab, DC (ลบ), สิ้นสุด, Enter, Escape, F1 ถึง F20, บ้าน, IC (แทรก), NPage / PageDown / PgDn, PPage / PageUp / PgUp, Space และ Tab . โปรดทราบว่าในการผูกคีย์ '"' หรือ '' 'จำเป็นต้องใส่เครื่องหมายอัญประกาศ [... ]

ตัวอย่าง MS-Left ควรเป็นAlt+ Shift+ Leftตัวอย่างเช่น


แสดงรายการคีย์ที่ถูกผูกไว้ทั้งหมด

ในการแสดงรายการการเชื่อมโยงคีย์ทั้งหมดเพียงกดCtrl- bจากนั้น?ในขณะที่อยู่ในtmuxเซสชัน

นี่คือเอกสารman tmuxในส่วนEXAMPLES:

พิมพ์ 'Cb' แสดงรายการการเชื่อมโยงคีย์ปัจจุบันในหน้าต่างปัจจุบัน ขึ้นและลงอาจถูกใช้เพื่อนำทางรายการหรือ 'q' เพื่อออกจากมัน

tmux list-keysนอกจากนี้คุณยังสามารถแสดงรายการคีย์ผูกทั้งหมดผ่าน หากคุณต้องการตรวจสอบคีย์ที่ตั้งค่าไปแล้วคุณสามารถgrepส่งออกไปตรวจสอบได้หากตั้งค่าไว้แล้ว


การวิจัย

หากต้องการค้นหาเพิ่มเติมผ่าน Google ให้ค้นหาชื่อส่วนในman tmux- เพียงพิมพ์tmux default key bindingsตัวอย่าง :) แต่บ่อยครั้งman tmuxก็เพียงพอแล้ว

ไซต์นี้เป็นเอกสารที่ดีมากเกี่ยวกับtmuxและปรากฏขึ้นหากคุณค้นหาสตริงดังกล่าวใน Google

Arch wikiก็ดีเช่นกัน


จริงๆแล้วจะใช้ alt สำหรับคอมพิวเตอร์ MAC ได้อย่างไร? ฉันเดาว่ามันต่างจากปุ่มตัวเลือก
Charlie Parker

@CharlieParker "Alt" จะเป็นปุ่ม "Meta" ... ในเทอร์มินัล Mac OS ในการตั้งค่า Terminal ภายใต้ "Profiles" ให้เลือกโปรไฟล์ (เช่นเดียวกับที่คุณใช้) จากนั้นในแท็บ "Keyboard" มีช่องทำเครื่องหมาย "ใช้ตัวเลือกเป็นคีย์ Meta" จากนั้นคุณสามารถใช้ปุ่ม alt / option สำหรับ Meta ... ไม่แน่ใจว่าการผูกมัดเริ่มต้น "Meta" บน Mac คืออะไร ... อาจเป็น Command แต่ Command ไม่ได้ถูกส่งไปยังเทอร์มินัลเซสชัน ดูเหมือนว่าจะถูกจับโดยระบบก่อน
Aaron Wallentine

และเห็นได้ชัดว่า "BTab" หมายถึง "Shift-Tab" ... ไม่แน่ใจว่า "BSpace" คืออะไร ... เมื่อฉันพยายามแมปบางสิ่งกับ "BSpace" แล้วลองเรียกทริกเกอร์ด้วยคำนำหน้า Shift + Space มันจบลงด้วยการทำ "เค้าโครงถัดไป" ซึ่งโดยค่าเริ่มต้นถูกผูกไว้กับคำนำหน้าช่องว่าง
Aaron Wallentine

ปุ่ม F> 12 มีการเปลี่ยนแปลง: github.com/tmux/tmux/commit/…
Delapouite

9

นี่คือรายการทั้งหมดของชื่อคีย์ 'เพิ่มเติม' ที่มีอยู่ใน tmux 2.2 ( คัดลอกมาจากแหล่งที่มา ):

    /* Function keys. */
F1
F2
F3
F4
F5
F6
F7
F8
F9
F10
F11
F12
IC
DC
Home
End
NPage
PageDown
PgDn
PPage
PageUp
PgUp
Tab
BTab
Space
BSpace
Enter
Escape
    /* Arrow keys. */
Up
Down
Left
Right
    /* Numeric keypad. */
KP/
KP*
KP-
KP7
KP8
KP9
KP+
KP4
KP5
KP6
KP1
KP2
KP3
KPEnter
KP0
KP.
    /* Mouse keys. */
MouseDown1Pane
MouseDown1Status
MouseDown1Border
MouseDown2Pane
MouseDown2Status
MouseDown2Border
MouseDown3Pane
MouseDown3Status
MouseDown3Border
MouseUp1Pane
MouseUp1Status
MouseUp1Border
MouseUp2Pane
MouseUp2Status
MouseUp2Border
MouseUp3Pane
MouseUp3Status
MouseUp3Border
MouseDrag1Pane
MouseDrag1Status
MouseDrag1Border
MouseDrag2Pane
MouseDrag2Status
MouseDrag2Border
MouseDrag3Pane
MouseDrag3Status
MouseDrag3Border
MouseDragEnd1Pane
MouseDragEnd1Status
MouseDragEnd1Border
MouseDragEnd2Pane
MouseDragEnd2Status
MouseDragEnd2Border
MouseDragEnd3Pane
MouseDragEnd3Status
MouseDragEnd3Border
WheelUpPane
WheelUpStatus
WheelUpBorder
WheelDownPane
WheelDownStatus
WheelDownBorder

เหล่านี้สามารถนำมาใช้ในการนอกเหนือไป ASCII พิมพ์ชุดตัวอักษรและรวมกับM-, C-และS-คำนำหน้า


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