Aby zainstalować wtyczkę, musimy wiedzieć, w jakiej formie się ona znajduje. Może to być:
Pojedynczy .vim
plik powinien zostać umieszczony w .vim/plugin
katalogu.
Plik Vimball można zainstalować , otwierając go w Vimie i uruchamiając :source %
.
Zestaw plików w standardowym układzie katalogów można zainstalować, kopiując je .vim
lub używając menedżera pakietów wtyczek .
Wtyczki mogą zależeć od niektórych funkcji. W związku z tym:
- Może to mieć znaczenie, jeśli używasz Vi lub Vima,
- Może mieć znaczenie, czy używasz gVim, czy nie (gVim zazwyczaj ma więcej funkcji włączonych w czasie kompilacji niż Vim w tej samej dystrybucji).
- Może mieć znaczenie, którą wersję Vima używasz, ponieważ funkcja mogła zostać dodana po twojej wersji Vima.
- Może mieć znaczenie, na jakim systemie operacyjnym jesteś, zwłaszcza jeśli wtyczka wywołuje polecenia zewnętrzne.
Jednak w przypadku większości wtyczek może to nie mieć znaczenia.
vi
na dowolnym nowoczesnym polu prawdopodobnie po prostu uruchomi sięvim
z wyłączonymi niektórymi funkcjami. Wątpię, aby wiele osób miało obecnie dostęp do faktycznej Vi.wtyczka vim
Lubię używać menedżera wtyczek vim .
Problem z ręczną instalacją wtyczki polega na tym, że usunięcie wtyczki jest raczej trudne ; często masz kilka różnych plików w różnych katalogach, musisz je ręcznie znaleźć i usunąć.
Aktualizacja problemów jest podobnie trudna: co się stanie, jeśli
autoload/old-name.vim
zostanie przemianowana naautoload/new-name.vim
? Masz teraz zarówno starą, jak i nową wersję wtyczki.vim-plug
rozwiązuje to, przechowując każdą wtyczkę we własnym katalogu; zawiera także polecenie łatwej instalacji / usunięcia wtyczki, dzięki czemu nie musisz się rozbierać przy rozpakowywaniu wtyczek i tym podobnych.Kluczową zaletą wtyczki vim nad Pathogen jest to, że wtyczka vim pozwala łatwiej instalować i usuwać wtyczki. Wszystko, co robi Pathogen, umożliwia umieszczenie każdej wtyczki w osobnym, zawartym katalogu.
vim-plug opiera się na git ; dla MS Windows, potrzebujesz msysgit .
Możesz zdefiniować wtyczki w swoim vimrc w następujący sposób:
Następnie uruchom ponownie Vima, a następnie zainstaluj wtyczki za pomocą:
Spowoduje to wstawienie wtyczek do
~/.vim/plugged
lub$HOME\vimfiles\plugged
dla MS Windows.Możesz dodać ten fragment z FAQ do pliku vimrc przed
plug#begin()
wywołaniem:Pamiętaj, że musisz
curl
to zadziałać. Jest to prawie zawsze dostępne w systemach Linux i OSX, ale nie w MS Windows; więc ta sztuczka tam nie zadziała ...Aby usunąć wtyczkę, usuń ją z pliku vimrc i uruchom:
Zauważ, że vim-plug nie obsługuje instalowania skryptów ze strony skryptów Vima, ale te skrypty są dublowane w GitHub , więc nie musisz tego robić.
Istnieją również dodatkowe zalety, takie jak łatwiejsza aktualizacja wtyczki i ładowanie na żądanie w celu uzyskania lepszej wydajności. Możesz także łatwo skopiować vimrc na inny komputer, uruchomić
:PlugInstall
i mieć wszystkie swoje wtyczki.Uwaga: jest więcej menedżerów wtyczek; Zdarza mi się używać
vim-plug
. Zobacz także: Jaka jest różnica między menedżerami pakietów vim?źródło
Patogen
Pathogen to menedżer ścieżek uruchomieniowych, który ładuje wtyczki w Vimie. Ułatwia instalację wtyczki; Oto jak to działa:
Uwaga: Jeśli używasz systemu Windows, należy wymienić
~/.vim
z$HOME\vimfiles
.Skopiuj
pathogen.vim
do~/.vim/autoload/pathogen.vim
.Utwórz
~/.vim/bundle
katalog, jeśli jeszcze nie istnieje.Dodaj następujący wiersz na samym początku
.vimrc
:Jesteś skończony! Jeśli chcesz dodać wtyczkę, po prostu skopiuj cały katalog wtyczki do
~/.vim/bundle
lubgit clone
tam. Na przykład:* Uwaga: jeśli wtyczka ma postać
.vim
pliku, nie będzie działać z Pathogen. Skopiuj go~/.vim/plugin
zamiast tego (może być konieczne utworzenie tego katalogu, jeśli nie istnieje).źródło
git submodule add
(zamiastgit clone
), jeśli twoja konfiguracja vim jest już częścią twojego projektu git.runtimepath
opcją i to wszystko. W ogóle nie dotyczy aktualizacji, dodawania, pobierania, usuwania wtyczek.Vim 8+ / Neovim
Wersja 8 wprowadza nowy mechanizm pakietów, który w dużej mierze zastępuje potrzebę istniejących menedżerów wtyczek (patogen, vim-plug, vundle itp.) W momencie pisania (2017).
Z dokumentacji :
Katalog pakietu zawiera dwa podkatalogi:
start/
- zawiera wtyczki, które zostaną automatycznie załadowaneopt/
- zawiera wtyczki ładowane na żądanie za pomocą:packadd
Może się to wydawać nieco skomplikowane, ale w praktyce wystarczy dodać tutaj wtyczkę :
W systemie Windows : użyj
~\vimfiles\pack\
zamiast~/.vim/pack/
Zgodnie z konwencją użyliśmy nazwy pakietu „pakunek” jako katalogu, który będzie zawierał wszystkie nasze wtyczki. Możesz użyć dowolnej nazwy, a nawet umieścić wtyczki w osobnych katalogach pakietów, jeśli naprawdę chcesz.
Przykład: instalacja sensible.vim
W systemie Windows : użyj
~\vimfiles\pack\
zamiast~/.vim/pack/
Następnym razem, gdy uruchomisz Vima, wtyczka załaduje się automatycznie.
źródło
.vim
ma kontrolę wersji, może być lepiej zainstalować wtyczki z podmodułami git; patrz shapeshed.com/vim-packages/#adding-a-package .Nie zapominajmy o wspaniałym i potężnym Vundle !
Vundle to kompletny menedżer wtyczek z funkcjami dla:
:PluginSearch
):PluginInstall
):PluginUpdate
):PluginClean
)Jak widać, przypomina to menedżera wtyczek vim wspomnianego przez Carpetsmoker. Nie wiem, który był pierwszy, ale ich interfejsy API wyglądają bardzo podobnie do mnie, podobnie jak proces instalacji .
źródło
.vimrc
, więc podczas instalowania na nowym serwerze wystarczy instalacja Vundle +.vimrc
instalacja wszystkiego. Dodatkowo możesz komentować swoje wtyczki i „czyścić” je, ale możesz skomentować je za kilka miesięcy lub lat później, gdy długo zapomnisz ich nazw.Najprawdopodobniej wtyczka będzie pojedynczym plikiem .vim.
W takim przypadku szukałem pomocy, eksperymentowałem i wymyśliłem następujące. Z poziomu vima (tryb poleceń) wpisz:
Spowoduje to wyświetlenie serii katalogów. Niektóre z tych katalogów będą miały
plugin
podkatalog. Umieszczenie dowolnego pliku .vim w jednym z tychplugin
podkatalogów spowoduje automatyczne załadowanie go po uruchomieniu vim z dowolnego miejsca.Dla mnie, na Ubuntu Linux, okazało się, że
/usr/share/vim/vim74/plugin
działało dobrze, aby zainstalować dla wszystkich użytkowników. Możesz potrzebować uprawnień administratora, aby skopiować tutaj plik (przedrostekcp
lubmv
poleceniesudo
).źródło
vim74
, co oznacza, że jest on specyficzny dla wersji, więc aktualizacja do Vima 8.0 spowoduje utratę tej wtyczki. Bardziej odpornym na aktualizację sposobem byłoby użycie/etc/vim/
do tego (utwórz go, jeśli nie jest obecny, i dodaj tę ścieżkę do,runtimepath
jeśli nie jest dostępny w/etc/vimrc
)Most likely, your plugin will be a single .vim file
Nie zgadzam się. Ogromna większość wtyczek jest dostarczana z.txt
plikiem zawierającym dokument. Aby uzyskać funkcjonalny dokument, musisz wygenerować tagi. Również wiele wtyczek zawieraautoload
katalog. Myślę, że użycie menedżera wtyczek jest lepszym rozwiązaniem niż ręczne zarządzanie ścieżką runtimepath/usr/share/vim/vimXX
jest podstawowym środowiskiem uruchomieniowym i nie jest miejscem konfiguracji / wtyczek witryny. Zamiast tego konfiguracje witryn / wtyczki powinny być umieszczane w dowolnym miejscu$VIM
w tym systemie (patrz:h vimfiles
). Zwykle/usr/share/vim
dzieje się tak w przypadku Ubuntu i prowadzi do dowiązań symbolicznych/etc/vim
. Ogólnie rzecz biorąc,/usr/local/
jest de facto miejscem konfiguracji witryny poza menedżerem pakietów . Zauważ, że Neovim korzysta z katalogów$XDG_(CONFIG|DATA)_DIRS
isite
, zapewniając lepsze domyślne ustawienia konfiguracji witryn.Vire wykorzystuje najnowszy format paczki do instalowania wtyczek i obsługuje Vima i Neovima. Nie musisz wiedzieć, gdzie coś się dzieje. Wystarczy podać vimrc, a Vire zajmie się resztą.
źródło