Saya sedang mencari jawaban untuk ini, tetapi belum menemukan apa pun, jadi jika saya melewatkan sesuatu yang jelas, saya minta maaf. Saya pikir ini akan menjadi pencarian google cepat, jadi mungkin ini lebih rumit dari yang saya kira.
Saya ingin dapat memuat plugin dengan syarat berdasarkan jenis file yang saya edit. Sebagai contoh, ketika mengedit python, saya tidak ingin keybindings yang vim-sexp
menginstal, tetapi ketika bekerja pada clojure, saya ingin plugin itu dimuat.
Saat ini saya menggunakan neovim dan patogen, tetapi jika ada manajer plugin berbeda yang melakukan ini untuk saya, saya akan terbuka untuk beralih. Juga, jika ini ada, apakah :set syntax whatever
beralih plugin? Karena itu akan menjadi super :)
Terima kasih sebelumnya atas bantuan / arahan!
sumber
Jawaban:
Anda dapat melakukan ini dengan Vim-Plug. Lihat README :
Saya pikir Anda harus menggunakan
:set filetype whatever
alih-alihset syntax whatever
mengaktifkan plugin.(Beberapa pengelola plugin lain memungkinkan Anda melakukan itu, lihat Apa perbedaan antara pengelola plugin vim? )
sumber
Alih-alih menelepon
execute pathogen#infect()
untuk memuat semua plugin, panggilpathogen#interpose
setiap plugin, yaitu:API patogen tidak didokumentasikan di luar sumber , tetapi cukup sederhana (meskipun nama fungsinya tidak jelas dan tidak deskriptif). Anda juga dapat menggunakan
pathogen#surround()
jalur absolut.Anda dapat memuat plugin dengan persyaratan dasar
autocmd
:Jika Anda menemukan banyak dari kasus ini, Anda bahkan dapat membaginya menjadi jalur yang berbeda:
~/.vim/bundle/always
untuk plugin yang selalu Anda inginkan~/.vim/bundle/<filetype>
untuk plugin untuk tipe file tertentuDan kemudian memuatnya seperti ini:
Dengan cara ini Anda tidak perlu menambahkan sejumlah
autocmd
s untuk setiap jenis file / plugin.Setelah sebuah plugin dimuat, itu dimuat. Sebuah "Plugin" hanyalah sebuah koleksi
function
,command
danmap
definitons. Saya tidak tahu cara mudah untuk "membongkar 'ini.Ini tidak plugin beban untuk filetype IFF Anda gunakan
:set filetype
; Secara umum, Anda selalu ingin menggunakan:set filetype
dan tidak:set syntax
, karenasyntax
hanya akan mengatur sintaks, dan tidak lekukan dan pengaturan lainnya (misalnyaiskeyword
,formatexpr
, dll).sumber