ฉันจะกำหนดการเชื่อมโยงคีย์ปลั๊กอินใหม่ได้อย่างไร


21

ฉันติดตั้งปลั๊กอินที่ไม่มีกลไกในการปิดใช้งานการแมปคีย์ที่กำหนดไว้ ฉันต้องการกำหนดหนึ่งในการแมปใหม่ ( <leader>cc) ที่กำหนดโดยปลั๊กอินสำหรับ pursope ของฉันฉันพยายามใส่บรรทัดต่อไปนี้ในของฉัน.vimrc:

noremap <leader>cc echo "my purpose"

แต่สิ่งนี้ใช้งานไม่ได้<leader>ccยังคงดำเนินการคำสั่งปลั๊กอิน

ฉันจะกำหนดการแมปของฉันอย่างไรเพื่อแทนที่ทับการกำหนดโดยปลั๊กอิน?


ตัวเลือกหนึ่ง (ไม่ดีเป็นที่ยอมรับ) คือการเข้าไปและแก้ไขต้นฉบับและลบการแมปที่ละเมิดออกไปโดยตรง
JonnyRaa

คำตอบ:


20

ปลั๊กอินมีที่มาหลังจากที่คุณvimrcไม่มีวิธีการแทนที่การแมปปลั๊กอินในของคุณvimrcหากปลั๊กอินไม่มีวิธีการทำเช่นนั้น

การวางการแมปที่กำหนดเองของคุณใน~/.vim/after/plugin/mystuff.vim(ชื่อของไฟล์ไม่สำคัญ) จะช่วยให้คุณสามารถแทนที่การแมปปลั๊กอิน


1
การทำเช่นนี้ไม่ได้ผลสำหรับฉัน ฉันmap <C-l> somethingอยู่ที่นั่นและมันก็ยังถูกทับด้วย Pydocstring
ชาวประมง

มีวิธีการทำเช่นนี้ที่เฉพาะเจาะจงกับประเภทไฟล์ (เช่น ftplugin) หรือไม่?
Steven Lu

นอกจากนี้ยอมรับว่าสิ่งนี้ไม่ได้ใช้งานได้จริง
Steven Lu

19

ดังที่ได้กล่าวไว้ในคำตอบอื่น ๆ ปลั๊กอินนั้นมีที่มาหลังจาก vimrc เสร็จแล้ว

หากคุณต้องการที่จะเก็บการแทนที่ของคุณใน vimrc ของคุณแทนที่จะทำปลั๊กอินหลังจากคุณสามารถใช้ "เคล็ดลับ" ที่ใดก็ได้ในไฟล์ vimrc ของคุณ:

autocmd VimEnter * noremap <leader>cc echo "my purpose"

จาก:help VimEnter:

VimEnter: หลังจากทำข้อมูลเริ่มต้นทั้งหมดรวมถึงการโหลดไฟล์. vimrc ให้ดำเนินการอาร์กิวเมนต์ "-c cmd" สร้างหน้าต่างทั้งหมดและโหลดบัฟเฟอร์ในไฟล์

ดังนั้นทุกสิ่งที่คุณใส่ในคำสั่งอัตโนมัติ VimEnter จะทำงานหลังจากที่ Vim พร้อม ใช้ VimEnter วิธีนี้ช่วยให้คุณสามารถแมปของคุณทั้งหมดที่มีการตั้งค่าอื่น ๆ vimrcของคุณที่คุณจะใช้ในการทำให้พวกเขา:

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