การกำหนดค่าปุ่มฟังก์ชันใน PuTTY สำหรับทั้ง Vim และ Midnight Commander ภายใต้ tmux?


10

ก่อนอื่นฉันทราบว่าฉันสามารถใช้Alt+ 1(ถึง 9 และ 0) เพื่อสังเคราะห์คีย์ฟังก์ชั่นตามลำดับ ( F1ผ่านF10) ใน Midnight Commander มันช่วยฉันได้หลายครั้ง แต่โดยปกติฉันยังกดปุ่มฟังก์ชั่นจริง

สรุปสาระสำคัญ: ฉันกำลังพยายามเรียกใช้ทั้ง Vim และ Midnight Commander ภายในtmuxเซสชัน (บางครั้งหน้าต่างบางครั้งบานหน้าต่าง) โดยใช้ PuTTY

ดังนั้นโดยปกติฉันมีการกำหนดค่า PuTTY ต่อไปนี้:

การตั้งค่าแป้นพิมพ์ PuTTY

ด้วยESC[n~การทำแผนที่

ปัญหาตอนนี้เมื่อการแมป ( map <F1> :tab help<CR>และยังnmapและimap) F1ในกลุ่มคือว่ามันให้ผลของ~(กรณีสลับ) และถ้าฉันกดF1เข้าไปF5ในเปลือกหอยตัวหนอน ( ~) คือผลลัพธ์พร้อมกับกระดิ่ง ปุ่มฟังก์ชั่นทำงานได้อย่างสมบูรณ์แบบใน Midnight Commander แม้ว่าใช้การตั้งค่านี้

มีสิ่งหนึ่งที่แปลกเกี่ยวกับการตั้งค่าข้างต้นนอกเหนือจากปัญหาของฉันด้วยF1: ฉันยัง "แมป" F5( set pastetoggle=<F5>) ในกลุ่ม แปลกพอที่ใช้งานได้เหมือนมีเสน่ห์ถึงแม้ว่าF5ปุ่มบนเปลือกจะให้ความ~รู้สึกเหมือนF1ฯลฯ

หมายเหตุ:เมื่อเรียกใช้กลุ่มนอกtmuxนั้นการเชื่อมโยงเริ่มต้น (และการแทนที่ของฉัน) ของการF1ทำงานดี!

ด้วยการแมป "Linux"

ตามธรรมชาติแล้วฉันพยายามใช้การตั้งค่า "Linux" ในกล่องโต้ตอบด้านบน ดังนั้นเมื่อฉันกดF1Vim จะเข้าสู่โหมดแทรกที่ส่วนท้ายของบรรทัด (ผลของA) ผู้บัญชาการเที่ยงคืนไม่รู้จักปุ่มฟังก์ชันใด ๆ ด้วยการตั้งค่านี้ พอแน่ใจว่าเปลือกF1ให้ฉันAและระฆัง ( และอื่น ๆ )F2B

ฉันหายไปนี่อะไร ฉันจะได้รับพฤติกรรมที่สม่ำเสมอซึ่งทั้ง Midnight Commander และ Vim จะจดจำปุ่มฟังก์ชันได้อย่างไร


ข้อมูลเพิ่มเติม:

ระบบระยะไกลเป็น Ubuntu 14.04 LANG=en_US.UTF-8กับ

TERMถูกกำหนดเป็นTERM=xtermนอกtmuxเซสชันและTERM=screenเมื่อมองจากภายในบานหน้าต่างหรือหน้าต่าง

ฉันไม่ได้ใช้:

set-option -g default-terminal "screen-256color"

tmuxแทนที่ภายในประเภทอาคาร

คำตอบ:


8

ปัญหาคือนอกTERM=xterm tmuxนอกจากนี้ยังไม่มีการกำหนดค่าของฉาบซึ่งตรงกับxtermคำอธิบายขั้วและไม่ตรงกันฟีดเข้าscreenหรือtmux(ใช้เวลาเลือกของคุณ)

ดูตัวอย่างในคำถามที่พบบ่อย ncurses ทำไมไม่ใช้เพียงชุดคำว่า "xterm" . คำแนะนำมีแน่นอนตั้ง

TERM=putty

การตรวจสอบอย่างรวดเร็วโดยใช้tackแสดงให้เห็นว่าการรวมกันนี้ ( TERM=putty, tmux) ใช้ได้กับ Ubuntu 14.04 (คุณควรติดตั้งncurses-termแพ็คเกจซึ่งรวมถึงสิ่งนี้)


ขอบคุณ จริง ๆ แล้วฉันไม่พบtackเลยไม่ใช่กับapt-file searchหรือหลังจากการติดตั้งแพคเกจที่คุณแนะนำ แต่toe -a|grep -i puttyยืนยันว่ามีนิยามเทอร์มินัล PuTTY อยู่หลายตัว (รวมถึงกputty-256color) ฉันจะลองและกลับไปหาคุณและยอมรับด้วย
0xC0000022L

ฉันไม่ได้สังเกตว่าแทคไม่ได้อยู่ใน Ubuntu 14.04 (อยู่ใน Debian มาระยะหนึ่ง แต่อาจถูกมองข้ามเมื่อฉันแยกมันออกจากแหล่ง tarball ncurses) ตรวจสอบเครื่องของฉันดูเหมือนว่าฉันกำลังเรียกใช้หนึ่งในแพคเกจของฉัน
Thomas Dickey
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.