Eu uso meu .vimrc
em várias máquinas diferentes, todas com versões significativamente diferentes do vim. A maioria das versões inicializa bem, mas uma delas reporta essa lista de erros na inicialização:
Error detected while processing ~/.vimrc:
Undefined variable: pathogen
Invalid expression: pathogen#infect()
Invalid :syntax subcommand: enable
Unknown function: executable
Invalid expression: executable('xclip')
:else without :if: else
:endif without :if: endif
Invalid argument: indent on
Invalid argument: plugin on
Invalid argument: nrformats=alpha,hex,octal
Illegal arguments: fromstart
Not an editor command: colorscheme zobean
Unknown option: foldenable
Unknown option: foldcolumn=0
Unknown option: cursorline
Unknown option: winminwidth=0
Ambiguous mapping, conflicts with "^V<silent>"
Ambiguous mapping, conflicts with "^V<leader>"
Ambiguous mapping, conflicts with "j"
Eu sei que posso usar if has('mouse')
para testar se o suporte ao mouse está ativado. Existe um teste semelhante que eu possa fazer para os outros comandos, como pathogen
, e configurações e opções que normalmente estão faltando?
Note que não tenho permissão para instalar programas em todas essas máquinas, portanto, instalar a última vim
não é uma opção válida.
Eu pretendo manter apenas um único .vimrc
para todas as máquinas, que adaptarão adequadamente as opções ao que está disponível.
Apêndice: conteúdo vimrc
Não incluirei todo o meu .vimrc
, que tem cerca de 250 linhas, mas abaixo estão as linhas e seções representativas que causam cada um dos erros listados acima:
execute pathogen#infect()
syntax enable
if has('win32')
...
elseif executable('xclip')
...
else
...
endif
filetype indent on
filetype plugin on
set nrformats=alpha,hex,octal
syn sync fromstart
colorscheme zobean
set foldenable foldnestmax=5 foldmethod=indent
set foldcolumn=0
set cursorline
set winminwidth=0
vnoremap < <gv
nnoremap <leader>~ vwb<esc>~
vnoremap jk <esc>