É provavelmente o arquivo de troca. Para encontrar o nome do arquivo de troca sendo usado para o atual buffer Vim, execute
:swapname
Em seguida, para testar se esse arquivo está sendo modificado a cada pressionamento de tecla, você pode abrir outra janela de terminal e executar
$ watch ls -l swapfile
em que swapfile é o nome do arquivo retornado pelo comando :swapname
acima. Então observe a hora da modificação do arquivo enquanto você digita no Vim.
BEGIN EDIT: Tendo tentado o acima, vejo que ls -l
não tem resolução suficiente e o intervalo de amostragem padrão de 2 segundos de watch
é um pouco longo. Um comando melhor para ver o tempo de modificação da troca do arquivo de troca é o seguinte:
$ watch -n 1 stat -c "%y" swapfile
END EDIT
O tempo entre as atualizações do arquivo de troca é definido pela opção 'updatetime', cujo valor em milissegundos você pode determinar executando
:set updatetime?
Infelizmente, esse mesmo temporizador é usado para acionar autocommands do CursorHold e alguns plugins configuram 'updatetime' para cerca de 100 milissegundos para responder rapidamente após a digitação do usuário. Se você achar que 'updatetime' tem um valor menor que o padrão de 4000, você pode executar
:verbose set updatetime?
para descobrir onde está sendo definido. Então você pode decidir se o recurso fornecido por qualquer plug-in está configurando-o vale o incômodo de acessos contínuos ao disco.