Vi et Vim, comme vous le savez tous, ont beaucoup de synonymes. Je connais trois méthodes pour enregistrer le fichier et quitter Vim et Vi. Ce sont : wq <cr> , : x <cr> et ZZ . J'ai entendu dire que ceux-ci sont différents d'une certaine manière.
Existe-t-il des différences pratiques entre l'utilisation de:
:x<cr>
:wq<cr>
ou
ZZ
enregistrer le fichier et quitter Vim et Vi?
save
filesystem
quit
original-vi
wefwefa3
la source
la source
ZZ
(ouZQ
) est plus court et plus facile à taper ...:help :wq
,:help ZZ
,:help :x
. C'est juste là dans la documentation.Réponses:
D'après la documentation de Vim,
:x
etZZ
sont équivalents; ils ne sauvegardent le fichier que s'il a été modifié, puis quitte Vim::wq
d'autre part écrit le fichier et quitte Vim (en supposant que les autorisations appropriées).la source
Comme Akshay a souligné, la documentation de Vim explique que
:x
etZZ
sont équivalents et VALIDER un fichier si le tampon associé a été modifié. Attend que:wq
le tampon est sauvegardé dans le fichier correspondant, même s'il est inchangé.Dans les deux cas, le contenu du tampon sera sauvegardé sur le disque. Évidemment, le résultat est le même, alors pourquoi se donner la peine, non? Mais attendez… Il y a une différence subtile, mais non dénuée de pertinence.
Si vous quittez Vim via
:x
et que la mémoire tampon n'a pas été modifiée, l'heure de modification de ce fichier ne sera pas modifiée. Par contre, si vous quittez via:wq
, l’heure de modification changera, le fichier étant techniquement réécrit (enregistré à nouveau).Cela peut avoir un impact dans certaines situations. Par exemple, un processus de sauvegarde dépendant de la date de modification peut stocker ce fichier (et éventuellement l'envoyer sur le réseau) même si aucune information supplémentaire n'a été incluse. Un processus de surveillance peut également déclencher une alarme s’il détecte que le fichier a été modifié (pour ce faire) ...
Edit: j’ai oublié de mentionner, afin de laisser un tampon / fichier modifié sans changer l’heure de modification, un
:q
(sans lew
) fonctionnera également.la source