Nie dotykaj pliku podczas zapisu, jeśli plik nie został zmieniony


15

Czasami piszę bezmyślnie, :wgdy coś czytam. Powoduje to zmianę czasu modyfikacji pliku i czasami powoduje, że mój system kompilacji niepotrzebnie odbudowuje znaczną część projektu.

Czy istnieje sposób na ustawienie vima, aby po prostu nic nie robił, jeśli spróbuję napisać plik, który nie został zmieniony?

Odpowiedzi:


15

Rozszerzając odpowiedź @ lcd047, której możesz użyć cabbrevdo modyfikacjiw

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

Podczas pisania :wzauważysz, że zostanie zastąpiony przez :upnaciśnięcie klawisza Return.


14

Nie bezpośrednio (to znaczy :wnie można zmienić zachowania), ale możesz nauczyć się używać :upzamiast :w. Robi dokładnie to, co chcesz.


3
Pozwólcie, że dodam: używam ulubionego mapowania klawiszy do zapisywania i związałem się z nim :updatezamiast :writeuzyskać wymaganie dotyczące oryginalnego plakatu.
Giovanni Maggiorani
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.