Làm cách nào để xác định lại ánh xạ khóa plugin?


21

Tôi đã cài đặt một plugin không cung cấp cơ chế để vô hiệu hóa ánh xạ chính mà nó xác định. Tôi muốn xác định lại một trong những ánh xạ ( <leader>cc) được xác định bởi plugin cho mục tiêu riêng của mình, tôi đã cố gắng đặt dòng sau vào .vimrc:

noremap <leader>cc echo "my purpose"

Nhưng điều này không hoạt động, <leader>ccvẫn đang thực hiện lệnh plugin.

Làm cách nào tôi có thể xác định ánh xạ của mình để nó ghi đè lên các định nghĩa của plugin?


một tùy chọn (thừa nhận là không tuyệt vời) là chỉ cần đi vào và chỉnh sửa nguồn và xóa trực tiếp ánh xạ vi phạm
JonnyRaa

Câu trả lời:


20

Các plugin được cung cấp sau khi bạn vimrckhông có cách nào để ghi đè lên ánh xạ plugin trong vimrcnếu plugin không cung cấp cách để làm như vậy.

Đặt ánh xạ tùy chỉnh của bạn vào ~/.vim/after/plugin/mystuff.vim(tên tệp không quan trọng) sẽ cho phép bạn ghi đè ánh xạ plugin.


1
Làm điều này không làm việc cho tôi. Tôi đặt map <C-l> somethingở đó và nó vẫn bị Pydocopes đè lên.
oarfish

Có cách nào để làm điều này dành riêng cho một filetype (như ftplugin) không?
Steven Lu

Ngoài ra, đồng ý, điều này thậm chí không thực sự làm việc.
Steven Lu

19

Như đã đề cập trong các câu trả lời khác, các plugin có nguồn gốc sau khi vimrc được thực hiện.

Nếu bạn muốn giữ phần ghi đè của mình trong vimrc thay vì thực hiện plugin sau, bạn có thể sử dụng "mẹo" này ở bất kỳ đâu trong tệp vimrc của mình:

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

Từ :help VimEnter:

Vim Entry: Sau khi thực hiện tất cả các công cụ khởi động, bao gồm tải các tệp .vimrc, thực thi các đối số "-c cmd", tạo tất cả các cửa sổ và tải bộ đệm trong đó.

Vì vậy, bất cứ điều gì bạn đặt trong lệnh tự động Vim Entry đều được chạy sau khi Vim sẵn sàng. Sử dụng Vim Entry theo cách này cho phép bạn giữ tất cả ánh xạ của mình với các cài đặt khác nơi bạn được sử dụng để giữ chúng : vimrc.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.