Leí la wiki y puse esto en mi vimrc:
autocmd FileType less,sass,yml,css,html,php,twig autocmd BufWritePre <buffer> :%s/\s\+$//e
Ahora el problema es cada vez que guardo &
está roto: repite una mezcla de la última sustitución y la sustitución. Si, por ejemplo, lo hago :s/foo/bar
y luego guardo, &
parece que sí :s/foo//
. Me gustaría que lo hiciera :s/foo/bar/
. ¿Cómo puedo restaurar esta funcionalidad?
Debería evitar el uso
:substitute
, ya que actualmente no hay una manera fácil de guardar y restaurar la última cadena de sustitución; El:help function-undo-search
no ayuda aquí.La mayoría de los complementos (como se muestra en la página Wiki referenciada) también sufren este problema. Se usaría una solución alternativa
call setline(substitute(getline(lnum)), '\s\+$', '', '')
en un bucle sobre todas las líneas, pero probablemente sea mucho más lento que el:substitute
.fuente