O .vimrc pode ser dividido em vários arquivos?

11

Digamos que eu tenha algumas centenas de re-mapeamentos personalizados iabpara Java e outras centenas de re-mapeamentos para Haskell, então eu gostaria de dividi-los em arquivos diferentes para torná-lo mais gerenciável. O que estou procurando é criar algo parecido com isto:

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

Onde .vimrc pode parecer algo como

import java
import haskell

É possível fazer algo assim, ou estou apenas complicando demais as coisas? Eu acho que o que estou tentando obter é o que se faz no LaTeX com o \inputcomando ...

lindhe
fonte
2
Existe uma razão para você não colocá-las ~/.vim/after/ftplugin/$language.vim?
wchargin
1
Na verdade, não devo? O que deveria entrar after/ftplugin?
Lindhe
2
Se você escrever um arquivo chamado, por exemplo ~/.vim/after/ftplugin/java.vim, ele será executado automaticamente sempre que você abrir um javaarquivo. Este parece ser o que você deseja.
precisa saber é o seguinte

Respostas:

5

Você está procurando por plugins. Esse é o propósito deles.

E não se esqueça de definir seus mapeamentos, configurações, abreviações, comandos, ... como locais. Caso contrário, eles parasitarão outros buffers uma vez carregados.

Aqui estão algumas respostas mais completas:

Luc Hermitte
fonte
11

Sim, o comando vim que você está procurando é :sourceou :runtimeretirá-los runtimepath.

Por exemplo, você pode fazer isso no seu .vimrc:

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

presumindo que ~/.vimesteja no seu runtimepath(que é por padrão).

Você também pode soltar seus scripts no ~/.vim/plugindiretório; consulte write-plugin nos documentos. O Vim executa automaticamente todos os scripts no diretório do plugin.

derobert
fonte
Legal. Existe alguma convenção de nomenclatura para o que eu chamei aqui custom, que não é exatamente plugins, mas arquivos que poderiam estar lá .vimrc?
Lindhe
1
@ Lindh-E Não que eu saiba. Você provavelmente deseja usar algo que, com certeza, não terá significado em uma versão futura do vim. Como eles se esforçam para manter a compatibilidade com os nomes de arquivo 8.3, sugiro um nome de diretório> 8 caracteres.
derobert