Czy .vimrc można podzielić na wiele plików?

11

Powiedzmy, że mam około stu niestandardowych mapowań iabdla Javy i kilka innych mapowań dla Haskell, wtedy chciałbym podzielić je na różne pliki, aby było łatwiejsze w zarządzaniu. To, czego szukam, to stworzyć coś takiego:

~/.
 ├── .vimrc
 └── .vim
     └── custom
         ├── java.vim
         └── haskell.vim

Gdzie może wyglądać .vimrc

import java
import haskell

Czy można coś takiego zrobić, czy po prostu komplikuję sprawy? Myślę, że staram się osiągnąć to, co robi się w LaTeX-u za pomocą \inputpolecenia ...

Lindhe
źródło
2
Czy istnieje powód, dla którego tego nie umieściłeś ~/.vim/after/ftplugin/$language.vim?
wchargin
1
Naprawdę nie powinienem? Co ma wejść after/ftplugin?
Lindhe
2
Jeśli napiszesz plik o nazwie np., ~/.vim/after/ftplugin/java.vimZostanie on automatycznie uruchomiony przy każdym otwarciu javapliku. To wydaje się być tym, czego chcesz.
wchargin

Odpowiedzi:

11

Tak, polecenie vim, którego szukasz, to :sourcelub :runtimewyciągnij je runtimepath.

Na przykład możesz to zrobić w swoim .vimrc:

runtime custom/java.vim
runtime custom/haskell.vim

zakładamy, że ~/.vimjest w twoim runtimepath(który jest domyślnie).

Możesz także upuścić swoje skrypty w ~/.vim/pluginkatalogu; patrz wtyczka write w dokumentacji. Vim automatycznie uruchamia wszystkie skrypty w katalogu wtyczek.

derobert
źródło
Fajne. Czy istnieje jakaś konwencja nazewnictwa dla tego, co tu nazywam custom, który nie jest całkiem wtyczkami, ale raczej plikami, które równie dobrze mogłyby się w nim znajdować .vimrc?
Lindhe
1
@ Lindh-E Nie jestem tego świadomy. Prawdopodobnie chcesz użyć czegoś, co na pewno nie będzie miało znaczenia w przyszłej wersji vima. Ponieważ starają się zachować zgodność z nazwami plików 8.3, sugeruję nazwę katalogu> 8 znaków.
derobert