Saya telah melihat berbagai paket manajer untuk vim dan yang saya putuskan untuk menggunakan vim-plug tetapi saya telah melihat yang lain menyukai patogen dan vundle dan saya jujur tidak tahu apa bedanya.
Bisakah seseorang memberi saya gambaran singkat tentang perbedaan sehingga saya dapat memutuskan mana yang paling cocok untuk saya?
plugin-managers
ZucchiniZe
sumber
sumber
Jawaban:
vim-plug adalah alternatif yang bagus untuk Vundle, ia melakukan hal-hal yang sedikit berbeda dari sudut pandang teknis yang seharusnya membuatnya lebih cepat ( lihat ini ). Ini memiliki sebagian besar (atau semua?) Fitur Vundle.
+ruby
,+python
atau Neovim. Turun kembali ke mode berurutan menggunakan Vimscript jika tidak ada yang tersedia.Untuk mulai menggunakannya:
Dan di vimrc Anda:
Lalu berikan perintah
untuk menginstal plugin yang terdaftar.
sumber
:PlugInstall
pada sebuah plugin baru; bahkan dokumen resmi sedikit mengaburkan ini...\vim81\autoload\..
dan tidak..\.vim\autoload\..
.Patogen itu sederhana. Pada dasarnya itu hanya:
Pro:
Cons:
Untuk menginstalnya unduh
pathogen.vim
ke~/.vim/autoload
:Dan tambahkan ke
.vimrc
:Jika Anda tidak suka menjadi gila, teleponlah hanya
:Helptags
jika perlu.Plugin kemudian ditambahkan ke
~/vim/bundle
.sumber
Vundle lebih kompleks. Ini adalah manajer paket à la
apt
atauyum
untuk plugin. Bisa:Untuk memasang:
Dan kemudian tambahkan ke
.vimrc
:Untuk menginstal plugin, gunakan
Plugin
perintah dalam.vimrc
(lebih banyak contoh di Github README):Dan kemudian telepon
:PluginInstall
dari.vim
(atauvim +PluginInstall +qall
).sumber
dein.vim : Sebagai tindak lanjut dari pertanyaan ini , saya akan menambahkan di sini pengelola plugin yang dibuat oleh Shougo yang terkenal.
Menurut README, plugin memiliki dependensi berikut:
Vim >7.4 or neovim
: sementara menjaga agar Vim tetap mutakhir adalah hal yang baik, mungkin bermasalah bagi beberapa pengguna yang versi sebelumnya tidak didukunggit
: yang sangat umum untuk manajer paketrsync
: yang tidak biasa seperti gitPenulis mengklaim bahwa ini lebih cepat dari NeoBundle. Patokan dapat ditemukan di halaman readme proyek .
Salah satu konsep asli dari manajer plugin ini adalah bahwa hal itu tidak memberikan perintah apapun, tapi hanya fungsi: misalnya, untuk memperbarui plugin Anda Anda tidak dapat menggunakan sesuatu seperti
:PlugUpdate
, Anda harus menghubungi::call dein#update()
. Sejujurnya saya belum menemukan penjelasan tentang pilihan desain ini.Juga, seseorang membuat sebuah plugin yang menyediakan perintah "hilang" ini. Saya tidak tahu apakah ini ide yang bagus atau apakah ini bertentangan dengan ide utama pengelola plugin tetapi penulis menyebutkannya di FAQ file doc.
Dein.vim mendukung mendapatkan plugin dari Github (dengan akses yang difasilitasi ke plugin dari vimscript.org) dan dari direktori lokal.
Pengelola plugin menyediakan beberapa fitur klasik seperti memperbarui dan menonaktifkan plugin. Ini juga memungkinkan pelaksanaan kait pada saat instalasi.
Perhatikan bahwa menurut FAQ, Anda harus membuat helptag secara manual dari plugins yang dipasangnya.
Hal yang menarik adalah bahwa penulis ingin agar dein.vim mudah untuk diuji dan dipelihara sehingga repositori juga mengandung beberapa skrip pengujian.
Akhirnya, saya akan mengatakan bahwa manajer plugin ini tampaknya dirancang untuk menjadi ringan dan cepat, yang menarik, tetapi saya pikir itu kurang ramah pengguna daripada vim-plug atau Vundle , misalnya.
Oh, juga, Shougo menggambarkan dein.vim sebagai "pengelola plugin Vim / Neovim bertenaga gelap" jika ada yang tahu apa artinya, silakan mengedit jawaban ini: Saya ingin tahu ;-)
sumber
Baik Vim 8.0 dan Neovim memiliki pengelola paket bawaan sendiri. Di Vim 8.0 buat direktori berikut:, di
.vim/pack/*/start
mana*
ada nama yang ingin Anda gunakan; mis.vim/pack/jimmy/start
.Kloning plugin Anda ke direktori mulai seperti yang Anda lakukan jika Anda menggunakan patogen.
Dengan Neovim, direktori sedikit lebih panjang:
.local/share/nvim/site/pack/*/start
. Dari sana lakukan hal yang sama seperti untuk Vim.Tidak perlu sama sekali untuk pengelola plugin lain.
Dalam Vim atau Neovim, jalankan
:h packages
untuk sedikit lebih detail. Baca bagian tentang warna karena mereka berbeda, walaupun tidak banyak. Anda tidak memerlukan instruksi tambahan dalam file.vimrc
Anda atau Andanvim/init.vim
.Semoga itu bisa membantu.
sumber
Saya terutama menyukai VAM untuk penyebarannya sendiri: yang Anda butuhkan hanyalah milik Anda
.vimrc
dan kemudian mulai vim.Jadi Anda tidak perlu
To Install
baris yang digunakan oleh sebagian besar pengelola-plugin lainnya (langkah pertama memasang pengelola plugin itu sendiri).sumber
Sejauh yang saya ketahui, saya ingin pengelola plugin yang saya gunakan untuk mendukung dependensi.
Alasannya adalah karena saya memelihara beberapa plugin dan saya memiliki banyak inter-dependensi: perpustakaan umum digunakan oleh semua, template / snippet engine digunakan oleh C ++ suite, plugin refactoring menggunakan juga ctags library-plugin , dan seterusnya. Membutuhkan pengguna akhir untuk menjalankan hingga 10 baris untuk menginstal plugin yang mereka minati tampaknya bagi saya bukan solusi yang baik.
Sejauh ini, saya hanya tahu dua plugin seperti itu: vim-addon-manager , dan NeoBundle . VAM telah memalsukan kode database-nya ke vim-pi setelah banyak pertukaran di milis vim resmi. Idenya adalah bahwa NeoBundle (dan plugin lain yang tertarik untuk mengelola dependensi) akhirnya dapat mengeksploitasi vim-pi.
Saya baru saja menemukan vim-flavour yang juga menangani dependensi. Pada subjek itu memeriksa versi plugin untuk menginstal yang benar.
Catatan: Sejak jawaban awal saya,
AFAIK, tidak ada plugin ini yang mengkloning / menginstal / memperbarui plugin di latar belakang / paralel. Karena saya tidak menginstal lingkungan vim baru, atau memperbarui plugin yang saya instal sebulan sekali, jujur, saya tidak peduli. Mereka tentu saja memperbarui
'helptags'
, merawat'rtp'
, dan sebagainya.sumber
vim-plug
README memiliki contoh yang mengatakan "Ketergantungan grup". Sudahkah Anda mencobanya, atau berbeda dengan metode VAM / NeoBundle?Sebagian besar pengelola plugin ini melakukan pekerjaan yang baik dalam mengelola plugin tetapi tidak perlu repot-repot mengaturnya
vimrc
untuk Anda. Jika Anda memiliki banyak mesin dan menginginkan konfigurasi yang sama, Vire membuatnya sangat mudah. Anda tidak perlu git atau mencari tahu submodul atau upaya ekstra apa pun untuk mendapatkan pengaturan atau migrasi.pip install vire
vimrc
ke Github sebagai inti dan pertahankan di sanavire -i
untuk menginstal Vim terbaru atau (Neovim dengan-i -n
)" Plug 'tpope/vim-unimpaired'
vire gistID
Kemudian jalankan
vire
kapan saja Anda inginvimrc
atau plugin Anda diperbarui atau dengan-i
memperbarui aplikasi juga.Vire memanfaatkan fitur Vim / Neovim
pack
untuk memuat plugin. Anda juga dapat terus menggunakan pengelola plugin yang ada, tetapi gunakan Vire hanya untuk menginstal Vim, thevimrc
, dan pengelola plugin itu sendiri jika diinginkan.sumber
Untuk orang yang menginginkan pengelola plugin lengkap menggunakan Pathogen, ada juga apt-vim. Anda dapat menginstalnya dengan
curl -sL https://raw.githubusercontent.com/egalpin/apt-vim/master/install.sh | sh
(seperti dijelaskan di sini: https://www.linuxsecrets.com/1715-vi-editor-tips-trick-and-secrets-into-the-vi-vi-vim-editor-part-ii ). Setelah diinstal, Anda bisa mengetikapt-vim install
diikuti dengan nama repositori paket, mirip dengan manajer paket apt Ubuntu.sumber
curl URL |sh
. Saya tidak akan menyarankan siapa pun untuk menjalankan beberapa kode acak dari Internet. Sungguh itu adalah kebiasaan keamanan yang buruk.Saya mencari cara untuk menggunakan
pathogen
tetapi memutakhirkannya dengan mudah dan membuatnya portabel, jadi mungkin sebuahbash
skrip mungkin membantu (menggunakanvim-plug
fungsi) -Dan kemudian sebuah contoh
.vimrc.bundle
-sumber