Desativar plugins vim para arquivos grandes

1

Eu tenho uma configuração personalizada do Vim que estou montando. Há vários plugins e recursos interessantes que ajudam no desenvolvimento do PHP. No entanto, quando abro um arquivo grande (milhares de linhas), esses recursos fazem o rastreamento do vim.

O que estou fazendo atualmente é renomear .vimrc para .vimrc- e, em seguida, reiniciar o vim ao lidar com esses arquivos grandes, para que eu tenha a configuração padrão. O que eu gostaria de fazer é alternar entre vimrc sem ter que sair do vim. Acha que isso é possível? É mais ou menos como contratar o .vimrc após as alterações, mas preciso criar outro arquivo para substituir minha configuração padrão.

    
por krimson 22.10.2014 / 20:18

3 respostas

3

Inicie o vim com o argumento --noplugin . Você poderia alias isto. (Você também pode verificar, por exemplo, uma variável de ambiente em seu .vimrc e, se presente, definir as opções de loadplugins). Há muitas maneiras de como se pode escrever. Veja também o faq aqui e aqui (observe o plugin LargeFile).

    
por 22.10.2014 / 23:09
1

Eu acho que você sempre pode iniciar vim com a opção -u :

vim -u NONE

De man vim :

-u {vimrc} Use the commands in the file {vimrc} for initializations. All the other initializations are skipped. Use this to edit a special kind of files. It can also be used to skip all initializations by giving the name "NONE". See ":help initialization" within vim for more details.

    
por 22.10.2014 / 20:32
0

Os comentários sobre sua pergunta revelam que seu problema é um comando personalizado que é executado em cada arquivo salvo.

Portanto, uma solução é editar seu comando personalizado para verificar alguma variável. Se essa variável não existir ou tiver um valor "falso", execute seu comando. Caso contrário, ignore o comando. Então, fazer a gravação acontecer rapidamente é tão simples quanto configurar essa variável para true. Você poderia fazer isso em um comando para tornar isso mais fácil. Por exemplo,

...
autocmd BufWritePost * if !exists('b:my_checker_skip_check') || !b:my_checker_skip_check | call DoMyCheck() | endif
...
command! MyCheckDisable  let b:my_checker_skip_check = 1
command! MyCheckEnable unlet b:my_checker_skip_check
    
por 29.10.2014 / 12:55