Vim causando compilação automática na gravação de arquivo

0

Recentemente, instalei alguns plugins no vim e, desde então, toda gravação de arquivo está acionando um processo de compilação, mostrando erros no arquivo (aqui está um arquivo C ++):

insira a descrição da imagem aqui

O problema é que eu sou muito novo no vim e não tenho certeza de qual plugin está causando isso. Seria ótimo se alguém pudesse me ajudar. Eu tenho o seguinte no meu ~/.vim/bundle:

  • minibufexpl.vim
  • nerdtree
  • sintático
  • tagbar
  • tlib_vim
  • vim-addon-mw-utils
  • vim-snipmate
  • vim-snippets

E aqui está o meu ~/.vimrc:

syntax on
colorscheme papayawhip
set smartindent
filetype plugin indent on
set tabstop=4
set shiftwidth=4
set expandtab
set number
set nowrap

"do not use the irritating red bg for highlighting errors
hi Error None

"load plugins in bundle automatically
execute pathogen#infect()

"autocmd vimenter * NERDTree

map <C-v> :NERDTreeToggle<CR>
:nnoremap <C-n> :bnext<CR>
:nnoremap <C-p> :bprevious<CR>

Por favor ajude!

dotslash
fonte
2
Nada me causa isso, mas eu não uso todos esses plugins. Eu tentaria fazer uma pesquisa binária para o plug-in causando o problema desativando metade deles. Se isso resolver, ligue novamente, etc. Se isso não apontar para nada e ninguém responder aqui, talvez pergunte novamente em vi.stackexchange.com .
blm
Idéia @blm Genius! : D: D Vou tentar se nenhuma outra sugestão funcionar. A propósito, quais plugins você usa / recomenda para fazer o vim funcionar como um IDE?
dotslash
@blm Funcionou! O culpado foi o Syntastic, que possui um verificador de arquivos "útil". Arrrrrrrgh!
dotslash
Ok, isso faz sentido. No README do Syntastic: "O Syntastic é um plug-in de verificação de sintaxe para o Vim que executa arquivos por meio de verificadores de sintaxe externos e exibe todos os erros resultantes para o usuário. Isso pode ser feito sob demanda ou automaticamente quando os arquivos são salvos." Eu acho que os "verificadores de sintaxe externos" para C / C ++ são apenas o compilador C com algumas opções. Que bom que você encontrou!
blm
11
Claro que é sintático. Por que você instalaria essa coisa se não quer o que faz?
romainl

Respostas:

0

Provavelmente, isso mostrará qual plugin está fazendo:

:verbose autocmd FileWritePre,FileWritePost

Você verá vários comandos automáticos, mas o que executar a :makeserá o culpado.

Heptite
fonte
Não makeaqui. Aqui está a saída completa: pastebin.com/0xjYWM2F
dotslash
Mas remover plugins um por um resolveu o problema para mim (consulte os comentários da pergunta original). Obrigado mesmo assim! :-)
dotslash 14/11
11
Supus que seria o desencadeamento da pós-gravação, mas poderia estar desencadeando a pré-gravação, então atualizei minha resposta. Além disso, é possível que não estivesse " :make" funcionando , mas como não sei qual seria a alternativa, deixei essa parte.
Heptite
0

Respondendo a minha própria pergunta para que ela possa ser fechada. Ao remover os plugins um a um, descobri que o comportamento estava sendo causado pelo Syntastic.

dotslash
fonte