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
Neoformat
bit solo es necesario si está utilizando el complemento neoformat , y causará problemas si no lo tiene.Neoformat
comando llegar al final (o más bien en unfinally
bloque)? De lo contrario, no se ejecutaría si:undojoin
arroja un error.Usar
undojoin
realmente funciona bastante bien:Sin embargo, si ejecuta
:w
inmediatamente 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|catch
cláusula para E790 o simplemente usar:sil!
para silenciar la advertencia.