Patrzyłem na różnych menedżerów pakietów dla vima i tego, który zdecydowałem się użyć vim-plug, ale widziałem innych takich jak patogen i vundle i szczerze mówiąc, nie wiem, jaka jest różnica.
Czy ktoś może dać mi krótki przegląd różnic, abym mógł zdecydować, który z nich będzie dla mnie najlepszy?
plugin-managers
Cukinia
źródło
źródło
Odpowiedzi:
vim-plug jest fajną alternatywą dla Vundle, robi coś nieco innego z technicznego punktu widzenia, co powinno przyspieszyć ( zobacz to ). Ma większość (czy wszystkie?) Funkcji Vundle.
+ruby
,+python
lub Neovim. Wraca do trybu sekwencyjnego za pomocą Vimscript, jeśli żaden nie jest dostępny.Aby rozpocząć korzystanie:
I w twoim vimrc:
Następnie wydaj polecenie
aby zainstalować wymienione wtyczki.
źródło
:PlugInstall
nowa wtyczka; nawet oficjalne dokumenty nieco to zaciemniają...\vim81\autoload\..
a nie..\.vim\autoload\..
.Patogen jest prosty. Zasadniczo po prostu:
Plusy:
Cons:
Aby zainstalować go ściągnąć
pathogen.vim
do~/.vim/autoload
:I dodaj do
.vimrc
:Jeśli nie lubisz wariować, dzwoń tylko
:Helptags
wtedy, gdy jest to konieczne.Wtyczki są następnie dodawane do
~/vim/bundle
.źródło
Vundle jest bardziej złożony. Jest to menedżer pakietów à la
apt
lubyum
wtyczek. To może:Żeby zainstalować:
A następnie dodaj do
.vimrc
:Aby zainstalować wtyczkę, użyj
Plugin
polecenia w.vimrc
(więcej przykładów na Github README):A następnie zadzwoń
:PluginInstall
z.vim
(lubvim +PluginInstall +qall
).źródło
dein.vim : W odpowiedzi na to pytanie dodam tutaj menedżera wtyczek stworzonego przez znanego Shougo.
Według README wtyczka ma następujące zależności:
Vim >7.4 or neovim
: chociaż aktualizowanie Vima jest dobrą rzeczą, dla niektórych użytkowników może być problematyczne, że poprzednie wersje nie są obsługiwanegit
: co jest dość powszechne w menedżerze pakietówrsync
: co nie jest tak powszechne jak gitAutor twierdzi, że jest szybszy niż NeoBundle. Benchmark można znaleźć na stronie Readme projektu .
Jedna oryginalna koncepcja tego menadżera wtyczek jest to, że nie przewiduje żadnych poleceń, ale tylko funkcje: na przykład, aby aktualizować swoje wtyczki nie można użyć czegoś podobnego
:PlugUpdate
, trzeba zadzwonić::call dein#update()
. Szczerze mówiąc, nie znalazłem wyjaśnienia tego wyboru projektu.Ponadto ktoś stworzył wtyczkę, która udostępnia te „brakujące” polecenia. Nie mam pojęcia, czy jest to dobry pomysł, czy też jest to sprzeczne z głównym pomysłem menedżera wtyczek, ale autor wspomina o tym w FAQ pliku doc.
Dein.vim obsługuje pobieranie wtyczek z Github (z ułatwionym dostępem do wtyczek z vimscript.org) oraz z lokalnych katalogów.
Menedżer wtyczek zapewnia klasyczne funkcje, takie jak aktualizowanie i wyłączanie wtyczek. Pozwala również na wykonanie haków w czasie instalacji.
Zauważ, że zgodnie z FAQ, wydaje się, że musisz ręcznie budować helptagi wtyczek, które instaluje.
Ciekawe jest to, że autor chce, aby dein.vim był łatwy w testowaniu i utrzymaniu, więc repozytorium zawiera również niektóre skrypty testowe.
Na koniec powiem, że ten menedżer wtyczek wydaje się być lekki i szybki, co jest interesujące, ale myślę, że jest mniej przyjazny dla użytkownika niż na przykład wtyczka vim lub Vundle .
Aha, Shougo opisuje dein.vim jako „Menedżer wtyczek Vim / Neovim o ciemnej mocy”, jeśli ktoś wie, co to znaczy, nie wahaj się edytować tej odpowiedzi: Jestem ciekawy ;-)
źródło
Zarówno Vim 8.0, jak i Neovim mają swój wbudowany menedżer pakietów. W Vimie 8.0 utwórz następujące katalogi:,
.vim/pack/*/start
gdzie*
jest dowolna nazwa, której chcesz użyć; np.vim/pack/jimmy/start
.Sklonuj wtyczkę do katalogu startowego, tak jak gdybyś używał patogenu.
W przypadku Neovim katalogi są nieco dłuższe:
.local/share/nvim/site/pack/*/start
. Stamtąd zrób to samo, co dla Vima.Kolejny menedżer wtyczek nie jest wcale potrzebny.
W Vimie lub Neovimie biegnij
:h packages
po trochę więcej szczegółów. Przeczytaj część o kolorach, ponieważ są one różne, choć niewiele. Nie potrzebujesz żadnych dodatkowych instrukcji w swoich.vimrc
lub swoichnvim/init.vim
plikach.Mam nadzieję, że to pomaga.
źródło
Szczególnie podoba mi się VAM do samodzielnego wdrożenia: wszystko czego potrzebujesz to twój,
.vimrc
a następnie uruchom vim.Więc nie potrzebujesz
To Install
linii używanej przez większość innych menedżerów wtyczek (pierwszy krok instalacji samego menedżera wtyczek).źródło
Jeśli chodzi o mnie, chcę menedżera wtyczek, którego używam, do obsługi zależności.
Powodem jest to, że utrzymuję kilka wtyczek i mam wiele wzajemnych zależności: wszyscy używają biblioteki ogólnej, silnik szablonu / fragmentu jest używany przez pakiet C ++, wtyczka refaktoryzująca używa również wtyczki biblioteki ctags , i tak dalej. Wymaganie od użytkownika końcowego wykonania do 10 linii do zainstalowania interesujących wtyczek nie wydaje mi się dobrym rozwiązaniem.
Jak dotąd znam tylko dwie takie wtyczki: vim-addon-manager i NeoBundle . VAM rozwidlił swój kod bazy danych na vim-pi po wielu wymianach na oficjalnej liście mailingowej vim. Pomysł polegał na tym, że NeoBundle (i każda inna wtyczka zainteresowana zarządzaniem zależnościami) może ostatecznie wykorzystać vim-pi.
Ostatnio natknąłem się na vim-flavour, który obsługuje również zależności. Na ten temat sprawdza wersje wtyczek, aby zainstalować właściwą.
Uwaga: od mojej pierwszej odpowiedzi
AFAIK, żadna z tych wtyczek nie klonuje / instaluje / aktualizuje wtyczek w tle / równolegle. Ponieważ nie instaluję nowego środowiska vim ani nie aktualizuję wtyczek, które instalowałem raz w miesiącu, szczerze mówiąc, nie obchodzi mnie to. Oczywiście aktualizują
'helptags'
, zajmują się'rtp'
i tak dalej.źródło
vim-plug
README ma przykład z napisem „Zależności grupowe”. Próbowałeś tego, czy różni się on od metod VAM / NeoBundle?Większość tych menedżerów wtyczek świetnie sobie radzi z zarządzaniem wtyczkami, ale pozostawia ci problem z zarządzaniem nimi
vimrc
. Jeśli masz wiele komputerów i chcesz mieć taką samą konfigurację w całej sieci, Vire sprawia, że jest to bardzo łatwe. Nie potrzebujesz git ani wymyślania submodułów, ani żadnego dodatkowego wysiłku, aby uzyskać konfigurację lub migrację.pip install vire
vimrc
na Githubie jako przedmiot i utrzymaj je tamvire -i
aby zainstalować najnowszą wersję Vima lub (Neovim z-i -n
)" Plug 'tpope/vim-unimpaired'
vire gistID
Następnie uruchom w
vire
dowolnym momencie, gdy chceszvimrc
zaktualizować wtyczki lub wtyczki lub-i
zaktualizować aplikację.Vire wykorzystuje
pack
funkcję Vima / Neovima do ładowania wtyczek. Możesz także nadal korzystać z istniejącego menedżera wtyczek, ale używać Vire tylko do instalowania Vima, samegovimrc
i menedżera wtyczek, jeśli jest to preferowane.źródło
Dla osób, które chcą pełnego menedżera wtyczek korzystającego z Pathogen, istnieje również apt-vim. Możesz go zainstalować za pomocą
curl -sL https://raw.githubusercontent.com/egalpin/apt-vim/master/install.sh | sh
(jak opisano tutaj: https://www.linuxsecrets.com/1715-vi-editor-tips-trick-and-secrets-into-the-vi-vim-editor-part-ii ). Po zainstalowaniu możesz po prostu wpisaćapt-vim install
nazwę repozytorium pakietów, podobnie jak menedżer pakietów Ubuntu apt.źródło
curl URL |sh
. Nigdy nie sugerowałbym nikomu, aby uruchamiał jakiś przypadkowy kod z Internetu. To naprawdę zły nawyk bezpieczeństwa.Szukałem sposobu użycia,
pathogen
ale łatwo go zaktualizować i uczynić przenośnym, więc być możebash
skrypt może być pomocny (przy użyciuvim-plug
funkcji) -A potem przykład
.vimrc.bundle
-źródło