Aprenda como refatorar a configuração do long vimrc.

Suponha que você tenha uma .vimrcconfiguração longa . Minha configuração tinha mais de 400 linhas antes de dividi-la em módulos. Decidi dividi-lo nos seguintes arquivos:

`vimrc`:          main, loads the rest of config files
`vimrc.bundles`: plug-ins
`vimrc.augroups`: *MIME*-based config (e.g. key bindings for *Ruby* / *Rails*)
`vimrc.writing`: setup for distractless environment

Todos eles são mantidos ~/dotfiles/. Você também pode encontrá-los em minha conta do GitHub .

Depois a mudança .vimrctem 290 linhas, o que é um pouco melhor. Como você deve saber, por padrão, o Vim procura a configuração nos seguintes dotfiles :

  • ~/.vimrc
  • ~/.vim/vimrc

Até ontem mantive 4 links simbólicos :

`.vimrc`          --> `~/dotfiles/vimrc`
`.vimrc.bundles` --> `~/dotfiles/vimrc.bundles`
`.vimrc.augroups` --> `~/dotfiles/vimrc.augroups`
`.vimrc.writing` --> `~/dotfiles/vimrc.writing`

Se você quiser compartilhar a configuração entre o vanilla Vim , gVim , MacVim ou neovim , etc., não é muito utilizável. Por exemplo, o neovim procura a configuração em ~/.config/nvim/init.vim.

Como mantenho toda a configuração no ~/dotfilesdiretório, pensei que seria melhor ‘delegar’ apenas um arquivo principal ( vimrc) que carregaria o restante dos arquivos. Isso é o que eu terminei:

`~/.vimrc`                --> `~/dotfiles/vimrc`
`~/.gvimrc` --> `~/dotfiles/vimrc`
`~/.whatevervimrc` --> `~/dotfiles/vimrc`
`~/.config/nvim/init.vim` --> `~/dotfiles/vimrc`

É assim que ~/dotfiles/vimrccarrega o resto dos arquivos de configuração:

" define paths in global variables

let g:dotfilesPath = '~/dotfiles/'

let g:vimrcBundles = g:dotfilesPath . 'vimrc.bundles'

let g:vimrcAugroups = g:dotfilesPath . 'vimrc.augroups'

let g:vimrcWriting = g:dotfilesPath . 'vimrc.writing'


"
load files
exe
'source ' g:vimrcBundles
exe
'source ' g:vimrcAugroups
exe
'source ' g:vimrcWriting

Acredito que deve ser uma maneira melhor de carregar / gerenciar esses arquivos, mas por
enquanto é outra pequena vitória e dá conta do recado.