Tenho notado que, ao usar o Vim no tmux em uma sessão SSH, quando escrevo um buffer para o disco (ou seja, :w
) ocasionalmente, enquanto o Vim diz que está escrito, o arquivo permanece inalterado. Na verdade, muitas vezes, quando isso acontece, o Vim reclama do arquivo que já foi alterado porque, presumivelmente, a versão .swp
do arquivo está mais adiantada do que o esperado.
Para algumas vezes contornar este problema, salve em um novo arquivo, saia, exclua o antigo e renomeie o novo. Mais frequentemente, porém, o efeito passa despercebido e acabo perdendo o trabalho ... É muito frustrante!
Alguma idéia do que está acontecendo aqui? Isso acontece apenas no tmux e eu sou o único usuário que se conecta à sessão. Se eu fechar a sessão do tmux (em vez de desanexar), o Vim não reclama mais do arquivo de troca quando eu fizer login novamente.
Eu posso consistentemente replicar isso (ou similar, pelo menos) fazendo o seguinte:
- Iniciar uma nova sessão do tmux
-
vim foo.txt
- Escreva algo e escreva
- Detatch da sessão do tmux
- Recoloque a sessão do tmux
- Sair do vim
-
vim foo.txt
O Vim agora reclamará que existe um arquivo de troca para foo.txt
(por exemplo, .foo.txt.swp
), embora não pareça haver um no diretório atual.