É possível e útil dividir o vimrc?

21

De acordo com o título, é possível dividir o vimrcarquivo em vários subarquivos? Manter arquivos separados para grupos de configurações que dizem respeito a uma coisa ? Esta coisa pode ser qualquer coisa, qualquer tipo de grupo definido pelo usuário de configurações. Por exemplo,

[Atualizada]

  • manter todas as configurações relacionadas ao Python (-mode) em vimrc.python-mode?
  • mantém as configurações do utilitário Calendário para o vim vimrc.calendar?
  • manter a configuração de cores em um arquivo separado?
  • manter os mapeamentos (também conhecidos como atalhos?) em um arquivo separado?
Nikos Alexandris
fonte
3
O outro lado: agrupamento baseado em local, em vez de tipo de arquivo. Veja vi.stackexchange.com/q/77/205
muru
A resposta que estou procurando pode estar em algum lugar entre as linhas em vi.stackexchange.com/a/3152/1963 ? Arquivos de origem que contêm as configurações desejadas para itens específicos de que preciso?
Nikos Alexandris
Removida a filetypetag - por enquanto, talvez? Isso faz com que os leitores pensem que as perguntas são sobre tipos de arquivos específicos, o que não é o caso.
Nikos Alexandris
parecia apropriado, dada a pergunta original.
Muru
@ muru Sim, não se preocupe. Podemos acrescentar isso mais tarde também. Obrigado.
Nikos Alexandris

Respostas:

22

Sim, isso é possível, útil e até considerado uma boa prática. Eles são chamados de plugins de tipo de arquivo no discurso do Vim. E o Vim também vem com muitos plugins de tipo de arquivo (além de arquivos de recuo e sintaxe) para vários idiomas.

Você precisa habilitar isso da .vimrcseguinte maneira:

filetype plugin on

em seguida, coloque suas configurações específicas de tipo de arquivo em um arquivo (criando diretórios inexistentes) chamado ~/.vim/ftplugin/python.vimconfigurações de python. Isso também é abordado no FAQ .

Atualização (13.11.2015) Também há outra possibilidade (se você não quiser usar opções específicas do tipo de arquivo): Se desejar agrupar algumas opções em um arquivo específico, poderá usar o comando sourceou runtime. Por exemplo, my .vimrccontém esta linha:

" This script contains plugin specific settings
source ~/.vim/plugins.vim
" This script contains mappings
source ~/.vim/mapping.vim
" additional helper functions:
source ~/.vim/functions.vim
" For abbreviations read in the following file:
source ~/.vim/abbrev.vim
Christian Brabandt
fonte
Bom, eu já tenho isso! Mas nunca realmente olhei de perto. Então, eu instalei o vimrc. E as configurações que não dizem respeito a um tipo de arquivo específico?
Nikos Alexandris
2
Você pode precisar :he autoloade :he source? Além disso, verifique esta resposta stackoverflow.com/a/805242/1821490
Alex Kroll
O @AlexKroll não é para plugins de tipo de arquivo.
Christian Brabandt 12/11/2015
@ChristianBrabandt por tudo o que você deseja. Você pode obter qualquer script em .vimrc. Basta colocar a source my-funy-useful-script.vimlinha no seu .vimrce o Vim carrega após reiniciar (ou :so $MYVIMRCcomando). Também :he writing-library-scriptspode ajuda você.
21815 Alex Kroll
@AlexKroll Acho que isso está mais próximo da resposta que estou procurando. Você se importaria de editar a resposta atual e expandi-la? Ou, faça uma resposta separada? Não estou procurando apenas tipos de arquivos específicos. Espero que isso esteja claro na minha pergunta.
Nikos Alexandris
4

É completamente possível fazer o que você deseja. Alguns dos outros disseram sobre plugins de tipo de arquivo que funcionam bem para isso.

Mas você pode fonte e arquivo .vim no seu vimrc para poder dividir o arquivo .vimrc em quantos arquivos desejar. Apenas crie o arquivo e ele funcionará. Como exemplo, aqui estão os meus arquivos de ponto (provavelmente não muito úteis). https://github.com/dspecht/dotfiles/

Spector
fonte
Você poderia dar um exemplo do que você fez na sua resposta e por que funciona?
EvergreenTree