Когда я редактирую файл в редакторе "vi", значение индекса файла изменяется. Но при редактировании с помощью команды cat значение inode не меняется.
22
Скорее всего, вы установили опцию резервного копирования , а для backupcopy установлено значение «no» или «breakhardlink».
~/.vimrc
. Это не настройки по умолчанию.backup
в моем.vimrc
, но inode все еще менялся, потому что по умолчанию используется резервное копирование текущего файла, удаление впоследствии и / *, когда это возможно * / переименование файла / * в резервную копию * / и запись новый / * под тем же именем, эффективно изменяющий индекс * / . Решено путем добавленияset backupcopy=yes
в.vimrc
.Если вы хотите изменить файл, у вас есть два варианта, каждый со своими преимуществами и недостатками.
Продвинутые редакторы, такие как Vim или Emacs, могут выбирать между двумя методами. Когда они используют первый метод, они обычно сначала создают файл резервной копии, который можно восстановить, если новое содержимое файла не может быть записано правильно.
Классический vi перезаписывает файл на месте. Таким образом, индекс не изменился.
В Vim , как CJM уже заявил , что выбор управляется
backup
,backupcopy
иwritebackup
опций. По умолчанию Vim переименовывает старый файл, а затем записывает новый файл с исходным именем, если считает, что может заново создать атрибуты исходного файла. Если вы хотите повторно использовать существующий индекс (и, следовательно, рискуете потерять данные или тратить больше времени на создание резервной копии), добавьтеset backupcopy yes
свой.vimrc
.источник
writebackup
потому что я уже выключилbackup
иbackupcopy
но инод все еще меняется.