Inclui no vimrc?

11

É possível incluir arquivos externos a serem obtidos no arquivo vimrc?

É tão simples quanto adicionar source somefile?

leeand00
fonte

Respostas:

15

Ao contrário :source, :runtimenão precisa de um caminho absoluto para funcionar. É muito melhor do que :sourcepara criar configurações portáteis.

Veja :help :runtime.

No exemplo a seguir, dizemos ao Vim para procurar um vimrcarquivo nos diretórios fornecidos pela runtimepathvariável. Como ~/.vim/é o primeiro diretório da lista, runtime vimrcfunciona da mesma maneira :source ~/.vim/vimrcsem a necessidade de fornecer um caminho dependente do sistema.

Em ~/.vimrc:

runtime vimrc
romainl
fonte
4

A resposta deve depender do que você deseja espalhar em vários arquivos. Existem algumas maneiras diferentes de ter uma configuração em vários arquivos. Nota: a diferença entre runtimee sourcefoi descrita, não vou dizer mais nada sobre esse assunto.

Assim. Você também terá que levar em conta o quê. Atualmente, raramente precisamos usar soou rudo .vimrc. No entanto, ainda o faço em apenas dois casos:

  • verifique se um plug-in sem carregamento automático é carregado antes do final do .vimrc (para definir outras coisas que dependem desse plug-in)
  • carregar configurações específicas do SO

Para os outros casos:

  • para definições de função, existem plugins de carregamento automático;
  • para realce de sintaxe, esquemas de cores, há arquivos dedicados nos diretórios de mesmo nome;
  • para configurações específicas do tipo de arquivo, existem plugins de tipo de arquivo (ter comandos automáticos no .vimrc é uma solução pobre, que não é escalável);
  • para configurações específicas do projeto, existem plugins como local_vimrc;
  • para qualquer outro conjunto de mapeamentos ou recursos complexos, existem plugins nos quais podemos reagrupar definições temáticas;

No final, eu tenho no meu .vimrc:

  • opções globais definidas com :set
  • o procedimento necessário para o gerenciador de plugins que estou usando
  • várias configurações para os plugins que uso (substituo as combinações de teclas padrão no .vimrc)
  • e algumas coisas (muitas, na verdade) que eu tenho arrastado por 20 anos.
Luc Hermitte
fonte
3

Sim, ou até mesmo so somefile. Veja :help so.

user3224237
fonte
2

Como um complemento, tenho essas linhas no meu vimrc que podem lhe interessar. Eu uso então a fonte de um vimrc local que eu não mantenho no meu controle de fonte dotfiles:

" Source a local vimrc {{{
    if has('win32')
        let $MYLOCALVIMRC = $HOME . "/_local.vim"
    else
        let $MYLOCALVIMRC = $HOME . "/.local.vim"
    endif

    if filereadable($MYLOCALVIMRC)
        source $MYLOCALVIMRC
    endif
" }}} 

A primeira parte que define o nome do arquivo a ser fonte pode não ser interessante para você, mas a segunda parte que verifica se o arquivo pode ser originado antes de ser originado, pode ser interessante.

Observe que :h sourceafirma:

Leia comandos Ex de {arquivo}. Estes são comandos que começam com um ":"

Portanto, isso permitirá que você crie um arquivo que contenha vimscript, mas não será possível criar diretamente um arquivo que contenha outro idioma com esse método, mesmo que a primeira linha contenha o shebang correto ( #!/bin/...)

statox
fonte