Jak mogę „pozyskać” coś z mojego pliku .vimrc?

99

Ostatnio pracowałem nad rozszerzeniem mojego vim-foo i natknąłem się na kilka wtyczek ( na przykład autotag.vim ), które wymagają, aby były one „źródłowe” w moim pliku .vimrc. Co to dokładnie oznacza i jak mam to zrobić?

Paul Wicks
źródło

Odpowiedzi:

119

Pozyskiwanie pliku to jego „wykonywanie”. Zasadniczo każda linia pliku jest traktowana jako polecenie. Jego pozyskiwanie jest tym samym, co wpisywanie każdego polecenia w kolejności. Źródłem źródła jest polecenie :source(zwykle skrócone do :so).

Więc jeśli pozyskujesz myStuff.vim

:so myStuff.vim

i jeśli myStuff.vimzawiera te wiersze

set xx iI just intersted this<C-]>
set yy bbbb4dw

To tak samo, jakbyś wpisał te polecenia w Vimie

:set xx iI just intersted this<C-]>
:set yy bbbb4dw

Jedynym domyślnie pobieranym plikiem jest .vimrc(w systemie _vimrcWindows), więc jest to miejsce, w którym możesz przechowywać wszystkie polecenia, których używasz do konfigurowania Vima za każdym razem.

Ciekawostką jest fakt, że skoro plik źródłowy to tylko seria poleceń, a pozyskiwanie to polecenie, możesz pobierać pliki ze swoich plików źródłowych. Więc wtyczek użyć za każdym razem mogą być pozyskiwane po uruchomieniu Vima przez dodanie odpowiedniego wiersza do .vimrctakiego

 so myPlugin.vim
Whaledawg
źródło
2
Co robi so!? Uruchomiłem go, ponieważ myślałem, że wymusi to na mnie, .vimrci zaczął przechodzić przez plik, który edytuję (mój .vimrc), i wciskał bzdury w dziwny sposób i działo się wiele dziwnych rzeczy.
Alexej Magura
2
Wykonuje pliki w trybie „normalnym” (tj. Co by się stało, gdybyś nie dodał „:” na początku).
Andrew Miner
44

Pliki w katalogu .vim / plugin są pobierane (ładowane) automatycznie.

Michiel de Mare
źródło
7
Ponadto ich nazwa pliku musi kończyć się na .vim
flawyte
tak, ale tylko raz na start, prawda? czy dzieje się tak, gdy uruchamiasz terminal / powershell, czy gdy używasz polecenia vim do edycji jakiegoś pliku?
3pitt
@ 3pitt AFAIK, to za każdym razem, gdy jest uruchamiane polecenie vim.
Thaddaeus Markle
12

Zawsze jest polecenie : source file . Zwykle piszę, .vimrcże zawiera niestandardowe polecenia, a nie dla aplikacji konsolowej, a następnie .gvimrczawiera dodatkowe gadżety, które są odpowiednie dla wersji okienkowej. Moi .gvimrcrozpoczyna się source $HOME/.vimrcodebrać wszystko z wersji konsolowej przed dodaniem w nowym materiałem.

D.Shawley
źródło
Przynajmniej moje wersje vima, wszystkie źródła .vimrc przez cały czas. Czy na pewno potrzebujesz źródła .vimrc?
Dav Clark
@DavClark: wygląda na to, że możesz mieć rację. Robię to od dłuższego czasu i nigdy się nad tym nie zastanawiałem. Plik pomocy zdecydowanie stwierdza, że ​​nie jest to konieczne ... hmmm.
D.Shawley
6

Zwykle są dwa pliki vimrc, jeden to _vimrc, a drugi _gvimrc (w pierwszym są pliki dla vima, aw drugim dla gvim - elementy graficzne) - chociaż większość ludzi, których znam, po prostu umieściła wszystko w _vimrc.

Dobrą praktyką jest trzymanie wszystkich dodatkowych plików (wtyczek, schematów kolorów, fragmentów ...) w oddzielnym (własnym) katalogu vimfiles (który możesz zabrać ze sobą).

Jeśli zrobisz

:help vimfiles

vim poinformuje, że katalog vimfiles powinien się znajdować. To zależy w pewnym stopniu od platformy (win, unix). W systemie Windows zwykle znajduje się w folderze użytkownika (dokumenty i ustawienia, a następnie użytkownik ...). W katalogu vimfiles znajduje się kilka podkatalogów. Wśród nich jest podkatalog „plugin”. Wtyczki umieszczone w tym katalogu zostaną załadowane automatycznie (także wtyczki umieszczone w podkatalogach "plugin"). Jeśli nie chcesz ładować go automatycznie, po prostu umieść go w swoim "vimfiles" lub jakimś innym katalogu i

:so plugin_name.vim (with the appropriate path)
(you can use the $vim, $vimfiles, and $home as shortcuts when defining path to plugin)
Wieża
źródło