ฉันจะทำให้ F-keys ทำงานใน byobu ได้อย่างไรสำหรับผู้บัญชาการเที่ยงคืน (mc), htop และอื่น ๆ


47

ฉันใช้ byobu กับแบ็กเอนด์ tmux บนเซิร์ฟเวอร์ 12.04 ของฉัน ฉันต้องการใช้แป้นพิมพ์ลัดของผู้บัญชาการเที่ยงคืนกับมัน แต่ปุ่ม F ไม่ทำงาน

ฉันเคยเห็นโพสต์เกี่ยวกับปัญหาที่นี่:

แต่มันล้าสมัยและดูเหมือนจะไม่ทำงานกับรุ่นที่ใหม่กว่าของ byobu ฉันจะหลีกเลี่ยงปัญหานี้หรือใช้ MC ในทางที่ดีขึ้นได้อย่างไร


3
กันไปสำหรับ htop และอื่น ๆ
jrg

คำตอบ:


73

คุณสามารถสลับเปิด / ปิดการใช้ปุ่ม F ภายในของ Byobu (tmux) ได้อย่างง่ายดายด้วยการกด:

  • shift- F12(ใน tmux)

  • ctrl- a- !(ในหน้าจอ)

การเปิดเผยอย่างเต็มรูปแบบ: ฉันเป็นผู้แต่งและเป็นผู้ดูแล Byobu


1
รับไปแล้วเพิ่ม. source $BYOBU_PREFIX/share/byobu/keybindings/f-keys.tmux.disablebyobu / keybindings.tmux ในตอนท้าย
Pykler

3
ไม่ทำงาน: P การผูกคีย์ใด ๆ นี้
QkiZ

2
ดัสตินในขณะที่ใช้งานได้ดีสำหรับปุ่มส่วนใหญ่ Shift-Fx ดูเหมือนว่าจะถูกละเว้นโดย mc เมื่อทำงานใน Byobu (โดยมี Tmux ที่นี่) ฉันเข้าใจว่าสำหรับ shift-F12 (ด้วยเหตุผลที่ชัดเจน) - แต่ฉันจะพลาดอะไรเช่น Shift-F3 หรือ Shift-F4 (ซึ่งฉันต้องการบ่อย)
Izzy

2
@Dustin: มันจะดีที่จะเพิ่มทางลัดเหล่านั้นในเอกสาร shift-F1! ฉันกำลังมองหามันอยู่พักหนึ่ง! ขอบคุณ!
Andrea Borga

2
คุณสามารถใช้byobu-keybindingsคำสั่งเทียบเท่ากับคีย์ผสมเหล่านั้น
Leo

11

เกี่ยวกับผู้บัญชาการเที่ยงคืนจะทริกเกอร์สำหรับตัวอย่างF2สำคัญ:

  • กดAlt+ 2(พร้อมกัน)
  • กดESC, 2(อีกอันหนึ่ง)

ซึ่งสะดวกกว่าการใช้สวิตช์:

  • Shift+ F12(ใน tmux, เริ่มต้นบน byobu)

  • Ctrl+ A+ !(ในหน้าจอ)


สิ่งนี้มีประโยชน์ส่วนใหญ่เมื่อคุณใช้ MC inside byobu บน Mac OS X เนื่องจากระบบ F-keys บางตัวใช้งานแล้ว ฉันพบว่าตัวเองกำลังใช้ESCงานอยู่9บ่อยครั้ง
gerlos

1
มีวิธีใดบ้างที่จะขยายไปยัง Shift-Fx? แม้เมื่อปิดใช้งานการโยงคีย์ Byobu แล้ว Shift-Fx ก็ดูเหมือนจะ "ตาบอด" (ไม่ทำงาน) พยายาม Esc - Shift-4 ไม่มีผล
Izzy

3

ฮ่า ๆ ๆ ชายคนหนึ่งหลังจากที่หัวใจของฉันเอง :)

คำตอบสั้น ๆ : เพิ่มppa ของฉัน ( ppa:izx/private) และupdatebyobu (หรือติดตั้ง deb) Byobu จะใช้ค่าเริ่มต้นscreenเป็นแบ็กเอนด์ที่มีFการทำงานของคีย์ที่เรียกคืนเป็นสไตล์ 4.x เก่า

คำตอบยาว: ใช้byobu-select-backendเพื่อสลับไปscreenถ้าคุณยังไม่ได้และเพิ่มบรรทัด$BYOBU_PREFIX/share/byobu/keybindings/f-keys.screen.disableหลังจากบรรทัดใน$BYOBU_PREFIX/share/byobu/keybindings/f-keys.screen/usr/share/byobu/keybindings/common

แพทช์ทั้งหมด:

+++ byobu-5.17 / usr / share / byobu / keybindings / ทั่วไป
@@ -1 +1,3 @@
 แหล่งที่มา $ BYOBU_PREFIX / share / byobu / keybindings / f-keys.screen
+ แหล่งข้อมูล $ BYOBU_PREFIX / share / byobu / keybindings / f-keys.screen.disable
+
--- byobu-5.17.orig / etc / byobu / แบ็กเอนด์
+++ byobu-5.17 / etc / byobu / แบ็กเอนด์
@@ -1,4 +1,4 @@
 # BYOBU_BACKEND สามารถเป็น "หน้าจอ" หรือ "tmux" ได้ในขณะนี้
 # แทนที่สิ่งนี้บนพื้นฐานต่อผู้ใช้โดยการแก้ไข "$ BYOBU_CONFIG_DIR / แบ็กเอนด์"
 # หรือโดยการเปิดตัว "byobu-screen" หรือ "byobu-tmux" แทน "byobu"
- # BYOBU_BACKEND = "tmux"
+ BYOBU_BACKEND = "หน้าจอ"

แต่ถ้าเราต้องการเก็บไว้ด้วย tmux
jrg

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