Как Акшай отметил, документация Vim объясняет, что :x
и ZZ
эквивалентны , и только сохранить файл , если связанный буфер был изменен. Принимая во внимание, :wq
что буфер сохраняет в соответствующий файл, даже если он не изменился.
В обоих случаях содержимое буфера будет сохранено на диск. Очевидно, что результат один и тот же, так зачем беспокоиться, верно? Но подождите ... Есть тонкая, но не несущественная разница.
Если вы выйдете из Vim через :x
буфер, и в буфере не было никаких изменений, время изменения этого файла не изменится. С другой стороны, если вы выйдете через :wq
, время изменения изменится, так как файл технически переписан (сохранен снова).
Это может иметь некоторое влияние в определенных ситуациях. Например, процесс резервного копирования, который зависит от времени модификации, может сохранить этот файл (и, возможно, отправить его по сети), даже если дополнительная информация не была включена. Или какой-то процесс мониторинга может подать сигнал тревоги, если обнаружит, что (для него) файл был изменен ...
Изменить: я забыл упомянуть, чтобы оставить измененный буфер / файл без изменения времени модификации, :q
(без w
) будет работать тоже.