No toque el archivo al escribir si el archivo no fue cambiado


15

Ocasionalmente escribo distraídamente :wcuando leo algo. Esto hace que cambie el tiempo de modificación del archivo y, a veces, hace que mi sistema de compilación reconstruya innecesariamente una parte sustancial de un proyecto.

¿Hay alguna manera de configurar vim para que simplemente no haga nada si intento escribir un archivo y no se ha cambiado?

Respuestas:


15

Ampliando la respuesta de @ lcd047 que puede usar cabbrevpara modificarw

:cabbrev w <c-r>=(getcmdtype()==':' && getcmdpos()==1 ? 'up' : 'w')<CR>

Cuando escriba :w, notará que se reemplazará :upcuando presione Intro.


14

No directamente (es decir, el comportamiento de :wno se puede cambiar), pero puede aprender a usar en :uplugar de :w. Hace exactamente lo que quieres.


3
Solo permítanme agregar: uso un mapeo de teclas favorito para guardar, y me he limitado a él en :updatelugar de :writeobtener el requisito del póster original.
Giovanni Maggiorani
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.