Tengo estas líneas en mi .vimrc para ayudar con la sangría:
autocmd BufReadPost * set noexpandtab | retab! 4
autocmd BufWritePre * set expandtab | retab! 4
autocmd BufWritePost * set noexpandtab | retab! 4
Sin embargo, crean mucho ruido en la historia de deshacer. Dado que esencialmente no hacen nada desde la perspectiva del usuario, me gustaría eliminarlos del historial o, al menos, aplastarlos de alguna manera (¿tal vez se cancelen si se aplastan juntos?). ¿Hay una manera de hacerlo?

Respuestas:
Para aquellos que tienen este problema y se preguntan cómo solucionarlo sin silenciar todos los errores, así es como lo hice en mi
.vimrc:El crédito es para Christian Brabandt y para esta respuesta de Randy Morris
fuente
Neoformatbit solo es necesario si está utilizando el complemento neoformat , y causará problemas si no lo tiene.Neoformatcomando llegar al final (o más bien en unfinallybloque)? De lo contrario, no se ejecutaría si:undojoinarroja un error.Usar
undojoinrealmente funciona bastante bien:Sin embargo, si ejecuta
:winmediatamente después de deshacer una acción, obtendrá un error:Este error puede silenciarse usando
silent!como se menciona en los comentarios , pero puede tener algunos efectos secundarios no intencionales:fuente
try|catchcláusula para E790 o simplemente usar:sil!para silenciar la advertencia.