Co to jest wtyczka Vim?

14

Rozumiem, że możemy rozszerzyć możliwości Vima, aby dodać nowe funkcje lub zmodyfikować istniejące i ulepszyć nasze możliwości edycji.

Chociaż sam jestem użytkownikiem Vima od dłuższego czasu, jestem teraz na nieznanym terytorium: czym właściwie jest wtyczka Vim? Jakie są warunki wstępne, aby napisać wtyczkę, aby móc pisać własne wtyczki w najbliższej przyszłości?

Paulo Cereda
źródło

Odpowiedzi:

16

Wtyczka jest sposobem na rozszerzenie funkcjonalności vima.

Vim kategoryzuje wtyczki do wtyczek „globalnych” (które ładują i działają bezwarunkowo) oraz wtyczek „typu pliku” (które ładują i działają tylko dla określonych typów plików, patrz :help filetype). Vim szuka wtyczek w określonych lokalizacjach, zakładając, że nie zmieniłeś ścieżki środowiska wykonawczego (ręcznie lub za pomocą wtyczek takich jak Pathogen lub Vundle):

  • W systemach * nix i OS X wartością domyślną jest ~/.vim/plugin
  • W systemie Windows wartością domyślną jest $HOME/vimfiles/plugin

ftpluginZamiast tego używają wtyczek typu pliku i muszą zostać nazwane (lub w podanym podkatalogu) dla rodzaju pliku, do którego odpowiadają (na przykład foo.vimdla typu foopliku).

Wtyczki są po prostu skryptem vim, więc możesz ich używać do definiowania funkcji, mapowań i poleceń tak, jak możesz w swoim .vimrc, chociaż pisząc wtyczkę, na ogół chcesz napisać skrypt vim z nieco większą ogólnością, niż gdybyś był włamywanie się na własną rękę .vimrc. Jeśli Twój vim jest skompilowany z odpowiednią opcją, możesz także pisać wtyczki w innych językach, takich jak Python, Ruby lub Lua.

.vimJednak wtyczki są zwykle czymś więcej niż pojedynczym plikiem, który znajduje się w odpowiednim katalogu. Często obejmują one także skrypty autoload ( :help autoload), skrypty składniowe ( :help syntax) i skrypty obsługi wcięć. Spakowane razem cały kod w tych skryptach zapewnia potężne haki do rozszerzenia vima.

Wbudowana pomoc Vima ( :help plugin) zawiera wiele dodatkowych informacji. Pisanie wtyczek jest dość szerokim tematem, ale wbudowana pomoc vima może być bardzo przydatna. Ponadto istnieje kilka doskonałych zasobów w Internecie, takich jak:


Korzystanie z wtyczki (czy to napisanej, czy pobranej z Internetu) to prosta kwestia umieszczenia jej w odpowiednim katalogu (lub katalogów, jeśli dotyczy) i uruchomienia vima. Oczywiście niektóre wtyczki mogą mieć bardziej złożone procedury instalacyjne (takie jak popularna wtyczka uzupełniająca YouCompleteMe , która zawiera skompilowany komponent).

Obecnie wtyczki do zarządzania wtyczkami, takie jak Pathogen i Vundle, są popularną alternatywą dla ręcznej instalacji plików wtyczek, zwłaszcza, że ​​wtyczki zwykle zawierają więcej niż jeden plik (jak wspomniano powyżej). Zobacz to pytanie, aby uzyskać więcej informacji.

Społeczność
źródło