MacVim: ผสานคีย์คำสั่งอีกครั้งเช่น <df>


17

ฉันสามารถทำการแมปที่ไม่ได้ใช้รวมกันเช่น<d-1>(Cmd + 1) ใน MacVim แต่มีหลายชุดที่ชอบ<d-f>, <d-o>หรือ<d-b>ที่ถูกผูกไว้แล้วรายการเมนู MacVim หากฉันพยายามทำการแมปใหม่ภายใน. vimrc ของฉันจะไม่มีการเปลี่ยนแปลงใด ๆ

มีวิธีใดบ้างที่ฉันสามารถแมปชุดค่าผสมเหล่านั้นใน MacVim หรือหยุด MacVim จากการกำหนดให้กับรายการเมนูเพื่อให้ส่งผ่านไปยังแกน Vim ได้อย่างถูกต้อง

คำตอบ:


21

พบมัน: Command-Tแนะนำให้ใช้ข้อมูลโค้ดต่อไปนี้:

if has("gui_macvim")
  macmenu &File.New\ Tab key=<nop>
  map <D-t> :CommandT<CR>
endif

ดังนั้นโดยพื้นฐานแล้วคุณสามารถยกเลิกการแมปรายการเมนูตามลำดับจากนั้นคุณสามารถแมปช็อตคัตที่คุณพยายามทำแผนที่ได้ (ฉันไม่แน่ใจว่าแอมเปอร์แซนด์ทำอะไรอยู่มันใช้ได้กับและไม่มี)

นี้จะต้องถูกวางใน ~ / .gvimrc ไม่ ~ / .vimrc! (เห็นได้ชัดว่า ~ / .vimrc อ่านเร็วเกินไปดังนั้นการแมป (un) จะถูกอุดตันหากคุณใส่ไว้ที่นั่น)


3
ฉันลองสิ่งนี้ในเวอร์ชันปัจจุบันของ MacVim (7.3) และใช้งานไม่ได้ ฉันลงเอยด้วยการไปที่ $ VIMRUNTIME / menu.vim ค้นหา<D-และวาง&& 0ท้ายคำสั่ง if จากนั้นผมคัดลอกเนื้อหาไปยัง .gvimrc ของฉันและแทนที่ด้วย<D-[^>]*> <nop>
dash-tom-bang

1
@ dash-torn-bang อืมรหัสของฉันด้านบนดูเหมือนว่าจะยังคงทำงานกับ 7.3 snapshot 62 บน Lion ฉันไม่ต้องแก้ไขเมนูของ MacVim ฉันไม่แน่ใจว่าทำไมมันถึงได้ผลสำหรับฉัน แต่ไม่ใช่เพื่อคุณ ...
Jo Liss

1
ฉันสามารถทำให้มันทำงานได้โดยไม่ต้องใช้เครื่องหมาย:macmenu File.Print key=<nop>
romaninsh

ขอบคุณ! ทำงานให้ฉัน แม้ว่าจะมีการปรับเปลี่ยนเล็กน้อย:macmenu File.Close key=<nop>
Halil Özgür
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.