Bagaimana cara mendefinisikan ulang pemetaan kunci plugin?

21

Saya telah menginstal plugin yang tidak menyediakan mekanisme untuk menonaktifkan pemetaan kunci yang ditentukannya. Saya ingin mendefinisikan ulang salah satu pemetaan ( <leader>cc) yang ditentukan oleh plugin untuk pencarian saya sendiri, saya telah mencoba untuk meletakkan baris berikut di .vimrc:

noremap <leader>cc echo "my purpose"

Tapi ini tidak berhasil, <leader>ccmasih menjalankan perintah plugin.

Bagaimana saya bisa mendefinisikan pemetaan saya sehingga menimpa yang didefinisikan oleh plugin?

toro2k
sumber
satu (diakui memang tidak bagus) adalah hanya masuk dan mengedit sumber dan menghapus pemetaan yang menyinggung secara langsung
JonnyRaa

Jawaban:

20

Plugin bersumber setelah Anda vimrcsehingga tidak ada cara untuk menimpa pemetaan plugin di Anda vimrcjika plugin tidak menyediakan cara untuk melakukannya.

Menempatkan pemetaan khusus Anda di ~/.vim/after/plugin/mystuff.vim(nama file tidak masalah) harus memungkinkan Anda untuk menimpa pemetaan plugin.

romainl
sumber
1
Melakukan ini tidak berhasil untuk saya. Saya menempatkan map <C-l> somethingdi sana dan masih ditimpa oleh Pydocstring.
oarfish
Apakah ada cara untuk melakukan ini yang khusus untuk tipe file (seperti ftplugin)?
Steven Lu
Juga, setuju, ini bahkan tidak berfungsi.
Steven Lu
20

Seperti disebutkan dalam jawaban lain, plugin bersumber setelah vimrc selesai.

Jika Anda ingin menyimpan penggantian di vimrc Anda alih-alih melakukan plugin setelah, Anda dapat menggunakan "trik" ini di mana saja di file vimrc Anda:

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

Dari :help VimEnter:

VimEnter: Setelah melakukan semua hal startup, termasuk memuat file .vimrc, mengeksekusi argumen "-c cmd", membuat semua jendela dan memuat buffer di dalamnya.

Jadi, apa pun yang Anda masukkan ke dalam perintah otomatis VimEnter akan dijalankan setelah Vim siap. Menggunakan VimEnter cara ini memungkinkan Anda untuk menyimpan semua pemetaan dengan pengaturan lain di mana Anda digunakan untuk menjaga mereka: vimrc.

John O'M.
sumber