ใช้ Ctrl + B ในน้อยกว่าภายใน tmux


17

ฉันใช้Ctrl+Bคำนำหน้าคำสั่งในtmuxอย่างไรก็ตามการปะทะนี้ด้วยCtrl+Bในlessซึ่งใช้สำหรับการเลื่อนขึ้นไฟล์

ฉันจะทำให้เรื่องนี้ทำงานได้อย่างไร ฉันต้องตั้งค่าคำนำหน้าคำสั่งอื่นtmuxหรือไม่ ฉันไม่ต้องการเรียนรู้การผูกคีย์ใหม่ถ้าฉันสามารถหลีกเลี่ยงได้

คำตอบ:


18

เห็นได้ชัดว่าคุณไม่มีคีย์สองปุ่มที่ทำสิ่งเดียวกันเมื่อทั้งสองโปรแกรมกำลังฟังอยู่ Tmux จะเอามันมาก่อน คุณไม่ได้ระบุชุดการเชื่อมโยงคีย์ที่คุณไม่ต้องการเรียนรู้อีกครั้ง แต่คุณต้องทำสิ่งที่แตกต่างกันเพราะใช้รหัสเดียวกันสำหรับทั้งสองแอป

หากคุณใช้งานเป็นครั้งคราวเท่านั้นlessคุณสามารถส่งของจริงโดยกดCtrl+ BB(นั่นคือ Ctrl-B สองครั้ง) tmuxเพื่อส่งผ่าน Ctrl-B เดียวไปยังแอปในบานหน้าต่างปัจจุบัน

หากคุณต้องการเปลี่ยนการtmuxเชื่อมโยงให้เป็นอย่างอื่น (เช่นCtrl+ Alike screen) คุณสามารถเพิ่มสิ่งนี้ลงในไฟล์ `~ / .tmux.conf ของคุณ:

unbind C-b
set -g prefix C-a

หากคุณต้องการที่จะใช้อย่างอื่นlessที่Gสำคัญมักจะผูกพันไปยังด้านบนของไฟล์ที่มีอยู่แล้วจึงไม่มีการเปลี่ยนแปลงที่จำเป็น หากมีการเปลี่ยนแปลงที่ไม่เหมาะกับคุณคุณสามารถ rebind lesskeyคีย์ใช้


หากฉันเปลี่ยนการโยง tmux ไปCtrl+Aนั่นจะเป็นการปะทะกันกับการเริ่มต้นคำสั่ง ฉันยังมี 'Ctrl + B + B' ผูกไว้กับหน้าต่างที่เลือกไว้ก่อนหน้านี้
dogbane

1
@Caleb: ในของฉันtmux(Ubuntu 11.04 ด้วยการกำหนดค่าเริ่มต้น) "Ctrl + B B" ไม่ทำอะไรเลย (หรือไม่มีเอกสารไว้ในหน้าคน); ต้องใช้ "Ctrl + B Ctrl + B" เพื่อส่ง Ctrl + B ไปยังแอปพลิเคชัน (ตรงกันข้ามscreenให้ใช้ค่าเริ่มต้นเป็น "Ctrl + A A" เพื่อส่ง "Ctrl + A" ไปยังแอปพลิเคชัน) คำตอบที่ดีเยี่ยม
Riccardo Murri

1
@RiccardoMurri: นั่นเป็นปัญหาการตั้งชื่อ ฉันไม่ได้เว้นช่องว่างระหว่างBปุ่มที่จะบอกให้ปล่อยให้ตัวควบคุม โดยปกติแล้วจะมีแป้นที่มีสไตล์เช่นเดียวกับที่คุณวางช่องว่างหรือเครื่องหมายจุลภาคระหว่างปุ่มต่าง ๆ หากปุ่มควบคุมกำลังจะถูกปล่อยออกมา แต่ก็ไม่ได้มาตรฐานที่กำหนดไว้อย่างดี บางคนไม่ได้ใช้รูปแบบเดียวกัน+...
Caleb

@dogbane: หากคุณผูก CTRL-B สองครั้งกับสิ่งอื่นที่ไม่ใช่ค่าเริ่มต้นนั่นเป็นความผิดของคุณและคุณจะต้องทำการแมปใหม่อีกครั้งแมปผ่านรุ่นของ CTRL-B ไปเป็นอย่างอื่นหรือใช้รหัสอื่น สำหรับน้อย.
คาเลบ

2
@dogbane ฉันใช้Ctrl+\ แต่เห็นได้ชัดว่าเป็นเรื่องของการตั้งค่าส่วนตัว คุณจะไม่ชอบตัวเลือกของฉันถ้าคุณไม่มีวิธีพิมพ์Ctrl+\ บนแป้นพิมพ์โดยไม่ใช้นิ้ว
Gilles 'หยุดชั่วร้าย'

17

ในtmuxพร้อมการกำหนดค่าเริ่มต้นการกด Ctrl + B สองครั้งจะส่งCtrl + B หนึ่งครั้งไปยังแอปพลิเคชัน


6

send-prefixคุณสามารถใช้คำสั่ง tmux มันจะส่งคำนำหน้าผูกมัด tmux คีย์ของคุณไปที่หน้าต่างปัจจุบัน

ตัวอย่างเช่นใน.tmux.conf:

set-option -g prefix C-a
bind-key v send-prefix

จากนั้นกดCtrl-a+ vจะส่งCtrl-aไปยังเครื่อง


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