vim
Rozszerzanie Vima
Szukaj…
Uwagi
Wtyczka jest skryptem lub zestawem skryptów, które zmieniają domyślne zachowanie Vima, poprzez dodanie nieistniejących funkcji lub rozszerzenie istniejących funkcji.
Często dodawane „nieistniejące funkcje” obejmują:
- komentowanie,
- wykrywanie wcięć,
- autouzupełnianie,
- dopasowanie rozmyte,
- obsługa określonego języka,
- itp.
Często rozszerzane „istniejące funkcje” obejmują:
- wszechstronne ukończenie,
- obiekty tekstowe i ruchy,
- szarpanie i wkładanie,
- linia statusu,
- wyszukaj i zamień,
- przełączanie strony bufora / okna / zakładki,
- składanie,
- itp.
Jak działają wtyczki
Wtyczka może prezentować się jako pojedynczy plik zawierający 30 linii vimscript lub jako 20 MB vimscript / python / ruby / cokolwiek podzielonego na wiele plików w kilkunastu katalogach, które zależą od wielu zewnętrznych narzędzi.
Ten pierwszy jest oczywiście łatwy w instalacji i zarządzaniu, ale ten drugi może stanowić spore wyzwanie.
Zasada
Opcja 'runtimepath'
mówi Vimowi, gdzie szukać skryptów 'runtimepath'
. Domyślna wartość sprawia, że Vim szuka skryptów w następujących katalogach w kolejności :
w systemach typu UNIX
-
$HOME/.vim/
-
$VIM/vimfiles/
-
$VIMRUNTIME/
-
$VIM/vimfiles/after/
-
$HOME/.vim/after/
-
w systemie Windows
-
$HOME/vimfiles/
-
$VIM/vimfiles/
-
$VIMRUNTIME/
-
$VIM/vimfiles/after/
-
$HOME/vimfiles/after/
-
Z powyższych katalogów instaluj tylko wtyczki pogrubione. Inne spowodują niestabilność bez uzasadnionego powodu. Instalacja wtyczki sprowadza się do umieszczenia każdego z jej składników we właściwym katalogu w $HOME/.vim/
lub $HOME/vimfiles/
.
Metoda ręczna
Wtyczka z jednym plikiem
Umieść plik pod $HOME/.vim/plugin
lub $HOME/vimfiles/plugin
Spowodowałoby to źródło wtyczki przy uruchomieniu Vima. Teraz użytkownik może korzystać ze wszystkiego, co w nim zdefiniowano. Jeśli jednak wtyczka wymaga aktywacji, użytkownik musi sam wykonać polecenie, ilekroć chce go użyć, lub dodać polecenie do .vimrc
Pakiet
Pakiet to struktura katalogów używana przez wtyczkę. Składa się ze wszystkich plików wtyczki w odpowiednich podkatalogach.
Aby zainstalować taką wtyczkę, podkatalogi należy połączyć z ich odpowiednikami w $HOME/.vim/plugin
. Takie podejście prowadzi jednak do mieszania plików różnych wtyczek w tych samych katalogach i może prowadzić do problemów z przestrzenią nazw.
Innym podejściem jest skopiowanie całego katalogu do $HOME/.vim/bundle
.
Podczas korzystania z tego podejścia powinien znajdować się co najmniej jeden plik .vim
w katalogu $HOME/.vim/bundle/autoload
. Pliki te będą pozyskiwane przez vim podczas uruchamiania.
Uwaga: W zależności od systemu operacyjnego użytkownika prefiksem wszystkich ścieżek może być $HOME/vimfiles
. Aby uzyskać więcej informacji, zobacz Jak działają wtyczki
VAM
https://github.com/MarcWeber/vim-addon-manager
Vundle
Vundle to menedżer wtyczek dla Vima.
Instalowanie Vundle
(Pełne szczegóły instalacji można znaleźć w Vundle Quick Start )
Zainstaluj Git i sklonuj Vundle do
~/.vim/bundle/Vundle.vim
.Skonfiguruj wtyczki, dodając następujące elementy na górze
.vimrc
, dodając lub usuwając wtyczki w razie potrzeby (wtyczki na liście służą wyłącznie celom ilustracyjnym)set nocompatible " be iMproved, required filetype off " required " set the runtime path to include Vundle and initialize set rtp+=~/.vim/bundle/Vundle.vim call vundle#begin() " alternatively, pass a path where Vundle should install plugins "call vundle#begin('~/some/path/here') " let Vundle manage Vundle, required Plugin 'VundleVim/Vundle.vim' " All of your Plugins must be added before the following line call vundle#end() " required filetype plugin indent on " required " To ignore plugin indent changes, instead use: "filetype plugin on "place non-Plugin stuff after this line
Zainstaluj wtyczki: uruchamiając Vima i uruchamiając
:PluginInstall
.
Obsługiwane formaty wtyczek
Poniżej podano przykłady różnych obsługiwanych formatów. Zachowaj polecenia wtyczki między vundle#begin
i vundle#end
.
Lokalizacja wtyczki | Stosowanie |
---|---|
wtyczka na GitHub | Plugin 'tpope/vim-fugitive' |
wtyczka z http://vim-scripts.org/vim/scripts.html | Plugin 'L9' |
Wtyczka Git nie jest hostowana na GitHub | Plugin 'git://git.wincent.com/command-t.git' |
repozytorium git na komputerze lokalnym (tj. podczas pracy nad własną wtyczką) | Plugin 'file:///home/gmarik/path/to/plugin' |
Skrypt vim sparkup znajduje się w podkatalogu tego repozytorium o nazwie vim. Przejdź ścieżkę, aby poprawnie ustawić ścieżkę runtimepath. | Plugin 'rstacruz/sparkup', {'rtp': 'vim/'} |
Zainstaluj L9 i unikaj konfliktu nazewnictwa, jeśli już zainstalowałeś inną wersję w innym miejscu. | Plugin 'ascenator/L9', {'name': 'newL9'} |
Praca na wspólnym koncie, na przykład w głównym węźle klastra, może powodować problemy z punktu widzenia użycia dysku przez katalog .vim
. Istnieje kilka pakietów, które zajmują znaczną ilość miejsca na dysku, na przykład YCM . Więc proszę mądrze wybrać Vundle
wtyczek Vundle
, a bardzo łatwo to zrobić, ustawiając rtp
. A także, jeśli planujesz zainstalować jakąkolwiek wtyczkę vima, nie git clone
bezpośrednio git clone
w katalogu bundle
. Skorzystaj ze sposobu Vundle.
Przyszłość: pakiety
Zobacz :help packages
.
Patogen
vim-pathogen to menedżer runtimepath
stworzony przez Tima Pope'a, aby ułatwić instalację wtyczek i plików środowiska uruchomieniowego w ich prywatnych katalogach.
Instalowanie patogenu
Umieść patogen w
~/.vim/bundle
(tutaj z Git, ale nie jest to obowiązkowe):git clone https://github.com/tpope/vim-pathogen.git
Dodaj następujące wiersze na górze
.vimrc
:" enable vim-pathogen runtime bundle/vim-pathogen/autoload/pathogen.vim execute pathogen#infect()
- dyrektywa
runtime
określa ścieżkę do skryptu autoloadvim-pathogen
; -
execute pathogen#infect()
inicjuje to.
Po zainicjowaniu Pathogen automatycznie rozpocznie przeglądanie folderów w ~/.vim/bundle
i ładuje wtyczkę z każdego z nich.
Korzystanie z patogenu
- Umieść katalog najwyższego poziomu wtyczki w
~/.vim/bundle/
aby był dostępny przy następnym uruchomieniu Vima. - Uruchom
:Helptags
aby zindeksować dokumentację nowej wtyczki.
Korzyści
- Każda wtyczka znajduje się we własnym katalogu w
~/.vim/bundle/
. - Twój
.vimrc
pozostaje czysty od konfiguracji wymaganej do ładowania wtyczek.
Wysiłek potrzebny do „zarządzania” wtyczką jest zatem zredukowany do:
- umieść katalog najwyższego poziomu w
~/.vim/bundle/
aby go zainstalować , - zamień katalog najwyższego poziomu, aby go zaktualizować ,
- usuń katalog najwyższego poziomu, aby go odinstalować .
To, jak wykonasz te trzy czynności (ręcznie, za pomocą narzędzia do automatyzacji, z Git / Svn / Hg / cokolwiek…), zależy wyłącznie od Ciebie.