Yanıtlar:
Bir eklenti yüklemek için hangi formda geldiğini bilmemiz gerekir.
.vim
dosyaplugin/*
, syntax/*
(vs.) bir eklenti Vundle uyumlu hale getirir ve diğer eklenti yöneticileri değiştirilebilir nelerdir? )Tek bir .vim
dosyanın .vim/plugin
dizine 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 .vim
veya 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.vim
yeniden adlandırılırsa autoload/new-name.vim
? Artık bir eklentinin hem eski hem de yeni bir sürümüne sahipsiniz .
vim-plug
her 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/plugged
ya 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
curl
Bunun ç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 :PlugInstall
ve 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 ~/.vim
ile $HOME\vimfiles
.
Kopya pathogen.vim
için ~/.vim/autoload/pathogen.vim
.
~/.vim/bundle
Henü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/bundle
veya git clone
orada. Örneğin:
cd ~/.vim/bundle
git clone https://github.com/tpope/vim-surround
* Uyarı: Eklentiniz bir .vim
dosya biçiminde gelirse, Pathogen ile çalışmaz. Bunun ~/.vim/plugin
yerine 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.
runtimepath
seç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 :packadd
Biraz 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.
.vim
sü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 + .vimrc
her ş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 plugin
alt dizine sahip olacaktır . Herhangi bir .vim dosyasını bu plugin
alt 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/plugin
tü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 cp
veya mv
komutunuzun önekini kullanın sudo
).
vim74
o 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 runtimepath
de eğer mevcut değildir /etc/vimrc
)
Most likely, your plugin will be a single .vim file
katılmıyorum. Eklentilerin büyük bir çoğunluğu .txt
dokü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 autoload
dizin 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 $VIM
bu sistemdeki noktalara (bkz. :h vimfiles
) Yerleştirilmelidir . Genellikle, bu /usr/share/vim
Ubuntu 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)_DIRS
site
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 muhtemelenvim
bazı özellikler kapalıyken başlayacaktır . Bugünlerde birçok insanın gerçek Vi'ye erişimi olduğundan şüpheliyim .