Separando configurações do `vim`.

A configuração do meu editor estava ficando muito grande, e com muitas coisas para carregar, então decidi separar as configurações por linguagem.

A idéia é basicamente a seguinte:

$ l=python vi . # defino a linguagem que vou usar ao abrir o vi.

Onde a variável l teria atribuido a linguagem que será utilizada e logo em seguida o editor é chamado. E a estrutura de diretório será a seguinte:

$ mkdir -p ~/.nvim/config # Aqui dentro conterá os arquivos de configuração por linguagem.

No meu caso eu escolhi esse caminho, porque uso o neovim, mas fica a critério de cada um, é só um local onde será armazenado as configurações.

Na minha máquina eu criei um script chamado vi e substitui o vi do sistema, e ele tem esse conteudo:

#!/bin/bash
 
if [ -z "$l" ]
then
    echo "Precisa atribuir a linguagem."
    exit 1
fi

nvim -u $HOME/.nvim/config/$l.vim $@

Esse script basicamente pega a linguagem que você está atribuindo na variável l, chama o editor colocando uma configuração com mesmo nome da linguagem no diretório ~/.nvim/config/ e repassa os argumentos.

No meu caso a estrutura de diretório ficou assim:

- /home
    - paulo
        - .nvim
            - config
                - python.vim
                - go.vim
                - javascript.vim
                - cpp.vim
                - ruby.vim
                - java.vim
                - arduino.vim

Então quando chamo l=go vi ., ele abre o diretório ‘.’ e carrega a configuração de go.vim. Utilizando source do script vim, é possivel quebrar as configurações e reaproveita-las em outras configurações.