O comando para atualizar um arquivo da versão em disco é :e!
Como posso fazer o mesmo para todos os arquivos no buffer?
Antecedentes: preciso disso porque estou usando o git com vários ramos com um vim aberto que contém um buffer. Quando faço checkout de uma filial, gostaria de atualizar o vim.
set noconfirm
antes de usar obufdo
comando (set confirm
depois para reanable).bufdo e
curiosamente deixa todos os buffers un-sintaxe-destacadoO
:checkt[ime]
comando foi projetado para esse mesmo objetivo.Ele solicitará que você recarregue os buffers que foram alterados; se você desejar pular o prompt, poderá fazê-lo com
:set autoread
antecedência (você ainda receberá um aviso sobre buffers com alterações locais não salvas).Também evita o problema de destaque da sintaxe mencionado por Steven Lu na resposta aceita;
:bufdo
desativa o destaque da sintaxe por design .Encontrado via: http://vim.1045645.n5.nabble.com/Bug-report-bufdo-e-breaking-syntax-highlighting-on-displayed-buffers-tp1209995p1209998.html
fonte
Aqui está o que eu acabei colocando no meu .vimrc:
fonte
De
:help autoread
:Se, como eu, você só quer sempre passivamente recarregar buffers obsoletos, mas não modificados, parece que isso deve fazer o trabalho.
No entanto, o detalhe final é quando o vim percebe o buffer obsoleto. Isso pode ser forçado com
checktime
. Se você tem eventos de foco configurados , podemos executarchecktime
sempre que obtivermos foco da seguinte forma:Esta resposta também tem alguns detalhes interessantes.
fonte
Como @Matthew S mencionou aqui https://vi.stackexchange.com/a/462 , você pode usar:
fonte