- Sim. Embora eu não entenda por que você está usando um diretório vimrc.d e: runtime em seu vimrc ao invés de simplesmente deixar seus arquivos no seu diretório plugin e deixar o Vim fazer o: runtime automaticamente.
- Os plug-ins carregados automaticamente são particionados em dois arquivos: um arquivo de código de interface que entra no diretório do plug-in e um arquivo de código de execução que entra no diretório de carregamento automático. O arquivo de código de interface é sempre carregado e deve ser enxuto. Geralmente contém comandos e / ou macros que chamam funções definidas no arquivo de código de execução. O arquivo de código de execução não é carregado até que um dos objetos que ele define (por exemplo, função ou variável) seja acessado e ainda não tenha sido definido. Se você executar os arquivos autoload / execution-code a partir do seu vimrc, você terá derrotado o propósito dos arquivos carregados automaticamente.
Você precisa colocar os arquivos carregados automaticamente em um diretório de carregamento automático que é um subdiretório de um dos componentes do 'runtimepath'. Se você não quiser usar o diretório padrão ~ / .vimrc / autoload (no Unix) ou ~ / vimfiles / autoload (no Windows), você precisará certificar-se de que o diretório pai do diretório autload esteja em 'runtimepath '.
Então, não importa se você:
- Faça como você esteve e coloque os arquivos de código de interface em seu diretório vimrc.d e execute-os você mesmo a partir do seu vimrc;
- Adicione seu diretório vimrc.d ao seu 'runtimepath', mova os arquivos de código de interface para um novo subdiretório, vimrc.d / plugin, e deixe o Vim executá-los para você; ou
- Basta colocar seus arquivos de código de interface no diretório ~ / .vim / plugin ou ~ / vimfiles / plugin padrão e dispensar o vimrc.d e o caminho: runtime em seu vimrc.
Se você realmente quiser manter suas coisas fora dos locais padrão e juntas em um diretório, suponho que você poderia fazer isso (assumindo o Unix por conveniência).
- Crie dois novos diretórios, ~ / .vim / vimrc.d / autoload e ~ / .vim / vimrc.d / plugin.
- Divida seus scripts existentes nas partes de código de interface e código de execução e coloque-os nesses diretórios, não deixando nenhum arquivo de script em ~ / .vim / vimrc.d.
- Remova o: runtime do seu vimrc.
-
Em seu vimrc, adicione ~ / .vim / vimrc.d ao seu 'runtimepath' assim:
set rtp^=~/.vim/vimrc.d
Para referência, scripts autoloaded são discutidos em
:help 41.15
:help autoload-functions