vimrc personalizado para subpastas e projetos

5

Eu uso vim em muitos contextos diferentes ... na verdade, provavelmente a maioria das pessoas faz: Há a edição de arquivos de configuração, programação, documentação, e-mail e assim por diante.

Eu freqüentemente me encontrava desejando um recurso que me permitisse colocar um vimrc em um diretório e sempre que eu inicio o vim dentro desse diretório um vimrc local também é lido para fazer adaptações específicas ao contexto. Por exemplo:

  • um vimrc no etc para definir / liberar implicitamente os bloqueios e criar backups antes / na gravação
  • um vimrc para cada um dos meus projetos de programação para (por exemplo) recuo específico do projeto e macros usadas com frequência, por exemplo Assinatura de correção Debian
  • um vimrc em todos os diretórios de documentação para as configurações específicas do idioma do documento (verificação ortográfica!)

Isso não apenas me ajudaria, mas também me permitiria compartilhar configurações específicas de projetos e tarefas entre muitos usuários em cada uma das situações descritas e ter a configuração com o contexto em que queremos que seja aplicado.

Isto parece muito sensato para mim e não é muito difícil de implementar. Alguém sabe de um plugin vim ou tem uma configuração que honra arquivos vimrc encontrados dentro de diretórios de trabalho?

    
por Bananguin 18.06.2013 / 11:12

1 resposta

6

Configuração Central

Se não houver problema em configurar as exceções locais centralmente, você poderá colocar esses autocmds em seu ~/.vimrc :

:autocmd BufRead,BufNewFile /path/to/dir/* setlocal ts=4 sw=4

Por outro lado, se você quer a configuração específica armazenada com o projeto (e não quer embutir isto em todos os arquivos via modelines ), você tem as seguintes duas opções:

Configuração local com funcionalidade integrada

Se você sempre inicia o Vim a partir do diretório raiz do projeto, o built-in

:set exrc

ativa a leitura de um arquivo .vimrc do diretório atual. Você pode colocar os comandos :set ts=4 sw=4 lá.

Configuração local por meio do plug-in

Caso contrário, você precisa da ajuda de um plugin; existem vários no vim.org; Posso recomendar o plug-in localrc , que permite até a configuração específica do tipo de arquivo local.

Observe que a configuração de leitura do sistema de arquivos tem implicações de segurança; você pode querer :set secure .

    
por 18.06.2013 / 11:33