ปุ่มตัวเลือกไม่ทำงานเป็น Meta ใน Tmux


26

ฉันใช้ Mac OSX Lion ฉันได้ตรวจสอบ "ใช้คีย์ตัวเลือกเป็น Meta" ในการตั้งค่าเทอร์มินัล แม้ว่าปุ่มตัวเลือกจะทำงานได้ดีเหมือน Meta ใน Bash แต่เมื่อฉันใช้ใน Tmux (มากกว่า SSH) ก็ไม่ทำงานอย่างถูกต้อง ฉันพยายามใช้ทางลัด TMUX เช่น^b M-1 b M-2ฯลฯ ฉันสามารถใช้ปุ่ม ESC แต่ไม่ใช่ปุ่มตัวเลือก


^b Spaceกับวงรอบผ่านรูปแบบที่หลากหลาย
caspyin

คำตอบ:


18

ฉันขอแนะนำให้ใช้iTerm2แทน Terminal.app เริ่มต้นเนื่องจากดีกว่าด้วยเหตุผลหลายประการ

โดยเฉพาะคุณจะสนใจตัวเลือกของ iTerm2 ในการแมปตัวเลือกซ้าย / ขวาในฐานะ "+ Esc" ซึ่งทำงานได้ดีกว่าการพยายามเลียนแบบ Meta สำหรับทุกวัตถุประสงค์ที่ฉันคิดหรือลอง

การตั้งค่านี้อยู่ภายใต้:

  • การตั้งค่า
    • โปรไฟล์
      • [เลือกโปรไฟล์]
        • คีย์

1
ฉันกำลังมองหาเหตุผลที่จะย้ายไปที่ iTerm2 และที่นี่ฉันมีมัน ขอบคุณ !!
ฟานี

13
ฉันขอถามได้ไหมว่าทำไมคุณถึงเลือกที่จะตั้งค่าเป็น "+ Esc" และไม่ใช่ "Meta" เมื่อดูเหมือนว่าคุณกำลังพยายามใช้ Meta-keys ข้อแตกต่าง / เพราะเหตุใด "+ Esc" จึงดีกว่า ขอบคุณ!
NHDaly

25

สำหรับคนอื่น ๆ ที่หาทางมาที่นี่ผ่านเครื่องมือค้นหาที่ชื่นชอบฉันสามารถแก้ปัญหานี้ได้โดยเพียงไปที่การตั้งค่า -> โปรไฟล์ -> แป้นพิมพ์และตรวจสอบ "ใช้ตัวเลือกเป็นคีย์ Meta" สำหรับโปรไฟล์เทอร์มินัลที่ฉันใช้

ฉันกำลังทำงานweechatภายใต้tmuxและการเชื่อมโยงคีย์เริ่มต้นทำให้การใช้งานmetaคีย์เป็นไปอย่างหนัก


คุณบันทึกวันของฉัน!
zx1986

ขอบคุณ! ฉันกำลังมองหาวิธีแก้ไขปัญหานี้โดยไม่ต้องเปลี่ยนไปใช้ iTerm2
Valdimar

4

ฉันมีปัญหาเดียวกันและไม่มีคำตอบให้ที่นี่ทำงาน นั่นคือผมก็มีiTerm2 [Option]สำคัญ remapped ไป[+Esc](aka "ทางเลือก" -. [META]) ในของฉัน "การตั้งค่า -> รูป -> Keyboard" ที่อธิบายไว้ในคำตอบอื่น ๆ แต่อาจจะยังคงไม่เปลี่ยนแปลงของฉัน tmux บานหน้าต่างรูปแบบด้วย,[CTRL]-[b][+Esc/META]-[DIGIT]

จากนั้นฉันก็พบว่าภายใต้ "การตั้งค่า -> คีย์" มี "ทางลัดการนำทาง" ที่[Option]+ (ใด ๆ ) [DIGIT]ถูกแมปไปที่ "สลับบานหน้าต่างแยก" (จำได้ว่า[Option]มีการแมปใหม่[+Esc]ดังนั้นจึงเป็นการชนที่ชัดเจน) ดังนั้นหลังจากยกเลิกการตั้งค่าที่ (เป็นค่าคีย์ที่ว่างเปล่า) ในที่สุดผมก็สามารถปรับขนาดได้อย่างสะดวกสบายอีกบานหน้าต่าง tmux ของฉันกับ[CTRL]-[b], [+Esc/META]-[DIGIT](แทนที่จะต้องใช้[CTRL]-[b](จริง) [Esc]แล้วรูปแบบที่ต้องการ[DIGIT])


1

ในตัวฉัน.zshrcฉันมักจะมีชุดต่อไปนี้:

bindkey '^[[1;9C' forward-word
bindkey '^[[1;9D' backward-word

ภายในช่วง tmux ฉันต้องรวมเพิ่มเติม

bindkey '^[[1;3C' forward-word
bindkey '^[[1;3D' backward-word

คุณสามารถคิดออกรหัสเหล่านี้โดยการทำงานในเซสชั่นแล้วกดแป้นพิมพ์ลัดเช่นreadAlt

กุญแจของฉันตั้งไว้ดังต่อไปนี้ใน iTerm2:


1

ฉันยังติดอยู่Terminal.appและเนื่องจากไม่มีคำตอบอื่น ๆ แก้ไขปัญหาฉันเพิ่มของฉันเองที่ทำงานให้ฉัน

นอกจากการกำหนดค่าโปรไฟล์ปัจจุบันTerminal -> Preferences -> Profiles -> Select the profile to configure -> KeyboardและการตรวจสอบUse Option as Meta keyแล้วให้ดูรายการเริ่มต้นของการผูกในตารางด้านบนและตรวจสอบให้แน่ใจว่าชุดค่าผสมที่คุณต้องการกำหนดนั้นฟรี สำหรับฉันมีสองสามOption + Arrowปุ่มที่รบกวนการtmuxตั้งค่าเพื่อเปลี่ยนระหว่างบานหน้าต่างได้อย่างง่ายดาย

ป้อนคำอธิบายรูปภาพที่นี่

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