Yanıtlar:
Bir eklenti yüklemek için hangi formda geldiğini bilmemiz gerekir.
.vimdosyaplugin/*, syntax/*(vs.) bir eklenti Vundle uyumlu hale getirir ve diğer eklenti yöneticileri değiştirilebilir nelerdir? )Tek bir .vimdosyanın .vim/plugindizine yerleştirilmesi gerekiyordu .
Bir Vimball dosyası Vim'de açılarak ve çalıştırılarak yüklenebilir:source % .
Standart dizin düzenindeki bir dizi dosya kopyalanarak .vimveya bir eklenti paketi yöneticisi kullanılarak yüklenebilir .
Eklentiler bazı özelliklere bağlı olabilir. Bu nedenle:
Çoğu eklenti için olsa da, önemli olmayabilir.
Vim-plug eklenti yöneticisini kullanmayı seviyorum .
Bir eklentiyi el ile kurmanın sorunu, bir eklentiyi kaldırmanın oldukça zor olmasıdır ; farklı dizinlerde sık sık birkaç farklı dosyanız var, bunları manuel olarak bulmanız ve kaldırmanız gerekiyor.
Yükseltme sorunları da benzer şekilde zordur: Ya autoload/old-name.vimyeniden adlandırılırsa autoload/new-name.vim? Artık bir eklentinin hem eski hem de yeni bir sürümüne sahipsiniz .
vim-plugher eklentiyi kendi dizininde saklayarak bunu çözer; Ayrıca bir eklentiyi kolayca yüklemek / kaldırmak için komutlar içerir, böylece eklentileri ve benzerlerini açmakla uğraşmanıza gerek kalmaz.
Patojen üzerindeki vim-plug'ın en önemli avantajı vim- plug'ın eklentileri daha kolay kurmanıza ve çıkarmanıza izin vermesidir. Pathogen'in yaptığı tek şey, her eklentinin ayrı bir dizinde bulunmasına izin vermek.
vim-fiş dayanır Git ; MS Windows için msysgit istiyorum .
Vimrc'nizdeki eklentileri şöyle tanımlayabilirsiniz:
call plug#begin('~/.vim/plugged')
" For MS Windows, this is probably better:
"call plug#begin('~/vimfiles/plugged')
Plug 'embear/vim-localvimrc'
Plug 'kchmck/vim-coffee-script'
" ... etc
call plug#end()
Sonra Vim'i yeniden başlatın ve ardından eklentileri şu şekilde yükleyin:
:PlugInstall
Bu eklentileri MS Windows içine ~/.vim/pluggedya da içine koyacaktır $HOME\vimfiles\plugged.
Bu snippet'i SSS'den plug#begin()aramadan önce vimrc dosyanıza ekleyebilirsiniz
:
if empty(glob('~/.vim/autoload/plug.vim'))
silent !curl -fLo ~/.vim/autoload/plug.vim --create-dirs
\ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
autocmd VimEnter * PlugInstall
endif
curlBunun çalışması için ihtiyacınız olduğunu unutmayın . Bu, Linux ve OSX'te neredeyse her zaman kullanılabilir, ancak MS Windows'ta yoktur; Yani bu numara orada işe yaramazsa ...
Bir eklentiyi kaldırmak için, onu vimrc dosyasından kaldırın ve çalıştırın:
:PlugClean
Vim-plug'ın Vim script web sitesinden script yüklemesini desteklemediğini, ancak bu scriptlerin GitHub'a yansıtıldığını , dolayısıyla yapmanız gerekmediğini unutmayın.
Eklentinin daha kolay güncellenmesi ve daha iyi performans için talep üzerine yükleme gibi bazı ek avantajlar da vardır. Ayrıca vimrc'nizi başka bir bilgisayara kolayca kopyalayabilir, çalıştırabilir :PlugInstallve tüm eklentilerinizi kullanabilirsiniz.
Not daha fazla eklenti yöneticileri vardır; Kullanıyorum vim-plug. Ayrıca bakınız: Paket paket yöneticileri arasındaki fark nedir?
Patojen, Vim içinde eklentileri yükleyen bir çalışma zamanı yolu yöneticisidir. Eklenti kurulumunu kolaylaştırır; İşte nasıl çalışıyor:
not: Windows kullanıyorsanız, yerine ~/.vimile $HOME\vimfiles.
Kopya pathogen.vimiçin ~/.vim/autoload/pathogen.vim.
~/.vim/bundleHenüz mevcut değilse , dizini oluşturun .
Aşağıdaki satırı, bilgisayarınızın başına ekleyin .vimrc:
execute pathogen#infect()
Sen bittin! Eğer bir eklenti eklemek istediğinizde, basitçe tüm eklentinin dizin kopyalamak ~/.vim/bundleveya git cloneorada. Örneğin:
cd ~/.vim/bundle
git clone https://github.com/tpope/vim-surround
* Uyarı: Eklentiniz bir .vimdosya biçiminde gelirse, Pathogen ile çalışmaz. Bunun ~/.vim/pluginyerine kopyalayın (yoksa, bu dizini oluşturmanız gerekebilir).
git submodule add(yerine git clone) vim yapılandırmanız zaten kendi git projenizin bir parçasıysa.
runtimepathseçeneği yönetir ve hepsi bu. Eklentileri güncelleme, ekleme, alma, kaldırma ile ilgili değildir.
Versiyon 8 , yazma anında (2017) mevcut eklenti yöneticilerine (patojen, vim-plug, vundle, vs.) olan ihtiyacı büyük ölçüde değiştiren yeni bir paket mekanizması sunar .
Gönderen belgeler :
Vim paketi , bir veya daha fazla eklenti içeren bir dizindir
Bir paket dizini iki alt dizin içerir:
start/ - otomatik olarak yüklenecek eklentileri içeriropt/ - isteğe bağlı olarak yüklenen eklentileri içerir :packaddBiraz karmaşık görünebilir, ancak pratikte yapmanız gereken tek şey eklentinizi buraya eklemek :
↓ package name
~/ .vim / pack / bundle / start / some-plugin
↑ packages dir ↑ plugin dir
Windows'ta : ~\vimfiles\pack\yerine kullanın~/.vim/pack/
Kurallara göre, "paket" paket adını tüm eklentilerimizi içerecek dizin olarak kullandık. İstediğiniz herhangi bir adı kullanabilir ve gerçekten isterseniz eklentileri ayrı paket dizinlerine bile yerleştirebilirsiniz.
mkdir -p ~/.vim/pack/bundle/start
cd ~/.vim/pack/bundle/start
git clone https://github.com/tpope/vim-sensible.git
Windows'ta : ~\vimfiles\pack\yerine kullanın~/.vim/pack/
Vim'i bir sonraki başlatışınızda, eklenti otomatik olarak yüklenecek.
.vimsürüm kontrolü altındaysa, git'in alt modülleriyle eklentileri kurmak daha iyi olabilir; shapeshed.com/vim-packages/#adding-a-package adresini ziyaret edin .
Büyük ve güçlü Vundle'ı unutmayalım !
Vundle, aşağıdaki özelliklere sahip eksiksiz bir eklenti yöneticisidir:
:PluginSearch):PluginInstall):PluginUpdate):PluginClean)Gördüğünüz gibi Carpetsmoker tarafından belirtilen vim-plug yöneticisi gibi. Hangisinin önce geldiğini bilmiyorum, ancak API'leri kurulum sürecinde olduğu gibi bana çok benziyor .
.vimrc, böylece yeni bir sunucuya yüklerken ihtiyacınız olan tek şey Vundle yüklemesi + .vimrcher şeyi yüklemek. Ayrıca, eklentilerinizi yorumlayabilir ve 'temizleyebilirsiniz', ancak isimlerini uzun zaman önce unuttuğunuz aylar veya yıllar sonra geri yorumlayabilirsiniz.
Büyük olasılıkla, eklentiniz tek bir .vim dosyası olacaktır.
Bu durumda yardımı aradım ve aşağıdakileri denedim ve anladım. Vim içinden (komut modu) şunu yazın:
:set runtimepath
Bu size bir dizi dizini gösterecektir. Bu dizinlerin bazıları bir pluginalt dizine sahip olacaktır . Herhangi bir .vim dosyasını bu pluginalt dizinlerden birine koymak, herhangi bir yerden vim başlattığınızda otomatik olarak yüklenmesini sağlar.
Benim için, Ubuntu Linux'ta, /usr/share/vim/vim74/plugintüm kullanıcılar için kurulum yapmak için iyi çalıştığını gördüm . Bir dosyayı buraya kopyalamak için kök iznine ihtiyacınız olabilir (sizin cpveya mvkomutunuzun önekini kullanın sudo).
vim74o eklenti gevşek, bu yüzden Vim 8.0 yükseltme, bu sürüme özgü olduğu anlamına gelir. Daha yükseltme geçirmez yolu kullanmak olacaktır /etc/vim/bunun için (mevcut değilse oluşturun ve bu yolu eklemek runtimepathde eğer mevcut değildir /etc/vimrc)
Most likely, your plugin will be a single .vim filekatılmıyorum. Eklentilerin büyük bir çoğunluğu .txtdokümanı içeren bir dosyayla birlikte gelir ve işlevsel bir doküman almak için etiketleri oluşturmanız gerekir. Ayrıca bir sürü eklenti ile birlikte bir autoloaddizin geliyor . Ben bir eklenti yöneticisi kullanarak manuel runtimepath yönetmek daha iyi bir çözüm olduğunu düşünüyorum
/usr/share/vim/vimXX, stok çalışma zamanı ve site yapılandırması / eklentileri için uygun bir yer değil. Bunun yerine, site yapılandırmaları / eklentileri $VIMbu sistemdeki noktalara (bkz. :h vimfiles) Yerleştirilmelidir . Genellikle, bu /usr/share/vimUbuntu için geçerlidir ve sembolik bağları tutar /etc/vim. Genel olarak, paket yöneticisi dışındaki/usr/local/ site yapılandırması için fiili bir yer vardır . Neovim'nin site yapılandırmaları için kullanıma hazır varsayılanlar sağladığını ve dizinleri kullandığını unutmayın . $XDG_(CONFIG|DATA)_DIRSsite
Vire eklentileri kurmak için en son paket formatını kullanıyor ve Vim ve Neovim'i destekliyor. Bir şey nereye gittiğini bilmek gerekmez. Sadece bir vimrc sağlayın ve Vire gerisini halleder.
vi, herhangi bir modern kutuya yazmak muhtemelenvimbazı özellikler kapalıyken başlayacaktır . Bugünlerde birçok insanın gerçek Vi'ye erişimi olduğundan şüpheliyim .