Odpowiedzi:
Aby zainstalować wtyczkę, musimy wiedzieć, w jakiej formie się ona znajduje. Może to być:
.vimplikplugin/*, syntax/*itp.) ( Co sprawia, że plugin Vundle jest kompatybilny i czy inne menedżery wtyczek są wymienne? )Pojedynczy .vimplik powinien zostać umieszczony w .vim/pluginkatalogu.
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 .vimlub używając menedżera pakietów wtyczek .
Wtyczki mogą zależeć od niektórych funkcji. W związku z tym:
Jednak w przypadku większości wtyczek może to nie mieć znaczenia.
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.vimzostanie przemianowana na autoload/new-name.vim? Masz teraz zarówno starą, jak i nową wersję wtyczki.
vim-plugrozwią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:
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()
Następnie uruchom ponownie Vima, a następnie zainstaluj wtyczki za pomocą:
:PlugInstall
Spowoduje to wstawienie wtyczek do ~/.vim/pluggedlub $HOME\vimfiles\pluggeddla MS Windows.
Możesz dodać
ten fragment z FAQ do pliku vimrc przed plug#begin()wywołaniem:
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
Pamiętaj, że musisz curlto 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:
:PlugClean
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ć :PlugInstalli 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?
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ć ~/.vimz $HOME\vimfiles.
Skopiuj pathogen.vimdo ~/.vim/autoload/pathogen.vim.
Utwórz ~/.vim/bundlekatalog, jeśli jeszcze nie istnieje.
Dodaj następujący wiersz na samym początku .vimrc:
execute pathogen#infect()
Jesteś skończony! Jeśli chcesz dodać wtyczkę, po prostu skopiuj cały katalog wtyczki do ~/.vim/bundlelub git clonetam. Na przykład:
cd ~/.vim/bundle
git clone https://github.com/tpope/vim-surround
* Uwaga: jeśli wtyczka ma postać .vimpliku, nie będzie działać z Pathogen. Skopiuj go ~/.vim/pluginzamiast tego (może być konieczne utworzenie tego katalogu, jeśli nie istnieje).
git submodule add(zamiast git clone), jeśli twoja konfiguracja vim jest już częścią twojego projektu git.
runtimepathopcją i to wszystko. W ogóle nie dotyczy aktualizacji, dodawania, pobierania, usuwania wtyczek.
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 :
Pakiet Vima to katalog zawierający jedną lub więcej wtyczek
Katalog pakietu zawiera dwa podkatalogi:
start/ - zawiera wtyczki, które zostaną automatycznie załadowaneopt/ - zawiera wtyczki ładowane na żądanie za pomocą :packaddMoże się to wydawać nieco skomplikowane, ale w praktyce wystarczy dodać tutaj wtyczkę :
↓ package name
~/ .vim / pack / bundle / start / some-plugin
↑ packages dir ↑ plugin dir
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.
mkdir -p ~/.vim/pack/bundle/start
cd ~/.vim/pack/bundle/start
git clone https://github.com/tpope/vim-sensible.git
W systemie Windows : użyj ~\vimfiles\pack\zamiast~/.vim/pack/
Następnym razem, gdy uruchomisz Vima, wtyczka załaduje się automatycznie.
.vimma 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 .
.vimrc, więc podczas instalowania na nowym serwerze wystarczy instalacja Vundle + .vimrcinstalacja 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:
:set runtimepath
Spowoduje to wyświetlenie serii katalogów. Niektóre z tych katalogów będą miały pluginpodkatalog. Umieszczenie dowolnego pliku .vim w jednym z tych pluginpodkatalogó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/plugindziałało dobrze, aby zainstalować dla wszystkich użytkowników. Możesz potrzebować uprawnień administratora, aby skopiować tutaj plik (przedrostek cplub mvpolecenie sudo).
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, runtimepathjeśli nie jest dostępny w /etc/vimrc)
Most likely, your plugin will be a single .vim fileNie zgadzam się. Ogromna większość wtyczek jest dostarczana z .txtplikiem zawierającym dokument. Aby uzyskać funkcjonalny dokument, musisz wygenerować tagi. Również wiele wtyczek zawiera autoloadkatalog. Myślę, że użycie menedżera wtyczek jest lepszym rozwiązaniem niż ręczne zarządzanie ścieżką runtimepath
/usr/share/vim/vimXXjest podstawowym środowiskiem uruchomieniowym i nie jest miejscem konfiguracji / wtyczek witryny. Zamiast tego konfiguracje witryn / wtyczki powinny być umieszczane w dowolnym miejscu $VIMw tym systemie (patrz :h vimfiles). Zwykle /usr/share/vimdzieje 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)_DIRSi site, 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ą.
vina dowolnym nowoczesnym polu prawdopodobnie po prostu uruchomi sięvimz wyłączonymi niektórymi funkcjami. Wątpię, aby wiele osób miało obecnie dostęp do faktycznej Vi.