ฉันจะแมป <cmd> - <shift> -f เพื่อเรียกใช้ปลั๊กอิน Ack ในกลุ่มได้อย่างไร


10

ฉันใหม่เพื่อกลุ่มและฉันพยายามแมปคำสั่งผสมที่สำคัญสำหรับการเรียกใช้ปลั๊กอิน Ack ที่นี่: https://github.com/mileszs/ack.vim

ฉันต้องการที่จะ map เพื่อเรียกใช้คำสั่งcmd-shift-f Ack :Ackฉันได้เพิ่มสิ่งต่อไปนี้ลงใน~/.vimrc

nmap <D-F> :Ack<space>

มันไม่ทำงาน ผมทำอะไรผิดหรือเปล่า?

ฉันใช้กลุ่ม 7.3 ใน iTerm 2 บน MacOS X

คำตอบ:


4

ปัญหาคือว่าในการจับคู่สัญลักษณ์ <... > ตัวพิมพ์เล็กและใหญ่ (เล็ก) จึงไม่จำเป็นต้องทำการแมปดังนั้นคุณต้องระบุแผนที่ด้วยปุ่ม Shift อย่างชัดเจน ลองสิ่งนี้:

nmap <D-S-F> :Ack<space>

ยังไม่ได้ผล มันแปลกเพราะ nmap <CF>: Ack <space> ใช้ได้กับ <ctrl> <shift> -f แต่มันใช้ไม่ได้กับ <cmd>
jordelver

1
อืมน่าสนใจ nmap <D-F> :Ack<space>ทำงานใน MacVim แต่ไม่ได้อยู่ในเทอร์มินัล ดูเหมือนว่าcmdไม่เป็นที่รู้จักในเทอร์มินัล
jordelver

1
และสุดท้ายตามหน้านี้: unix.stackexchange.com/questions/29665/ คุณสามารถใช้<cmd>การแมปกุญแจใน GUI Vim เช่น MacVim เท่านั้น ฉันตัดสินใจที่จะไปกับ<ctrl>-fตอนนี้
jordelver

3

หรือ .. คุณอาจคิดถึงวิธีนี้:

nmap <D-F> :Ack <space>

คุณไม่จำเป็นต้องพูดถึงการเปลี่ยนแปลง & นี่ยังเป็นเพียงการกระตุ้นด้วยทุน F (ดังนั้นแม้ว่าการเปลี่ยนแปลงจะไม่ได้กล่าวถึงในการผูก แต่คุณยังต้องกด)

สิ่งนี้ใช้ได้กับฉันอย่างน้อย


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