Kiedy edytuję plik w edytorze „vi”, zmienia się wartość i-węzła pliku. Ale podczas edycji za pomocą polecenia cat wartość i-węzła się nie zmienia.
22
Najprawdopodobniej włączyłeś opcję tworzenia kopii zapasowych , a kopia zapasowa została ustawiona na „no” lub „breakhardlink”.
~/.vimrc
. To nie są ustawienia domyślne.backup
w moim.vimrc
, ale iwęzeł wciąż się zmienia, bo domyślnie jest do pliku kopii zapasowej bieżącej, potem usunięte i / * * / w miarę możliwości zmienić nazwę pliku / * do kopii zapasowej * / i pisać nowy / * pod tą samą nazwą, skutecznie zmieniając i-węzeł * / . Rozwiązany przez dodanieset backupcopy=yes
do.vimrc
.Kiedy chcesz zmodyfikować plik, masz dwie opcje, każda z zaletami i wadami.
Zaawansowane edytory, takie jak Vim lub Emacs, mogą wybierać między tymi dwiema metodami. Kiedy używają pierwszej metody, zwykle najpierw tworzą plik kopii zapasowej, który można odzyskać, jeśli nie można poprawnie zapisać nowej zawartości pliku.
Klasyczne vi zastępuje plik na miejscu. I-węzeł pozostaje niezmieniony.
W vim, jak CJM już stwierdził , wybór jest kontrolowany przez
backup
,backupcopy
iwritebackup
opcji. Domyślnie Vim zmienia nazwę starego pliku, a następnie zapisuje nowy plik z oryginalną nazwą, jeśli sądzi, że może odtworzyć atrybuty oryginalnego pliku. Jeśli chcesz ponownie użyć istniejącego i-węzła (a więc ryzykować utratę danych lub marnować więcej czasu na tworzenie kopii zapasowej), dodajset backupcopy yes
do swojego.vimrc
.źródło
writebackup
ponieważ już się wyłączyłem, alebackup
i-backupcopy
węzeł wciąż się zmieniał.