Câu trả lời:
Nhiều khả năng, bạn đã thiết lập sao lưu tùy chọn trên, và backupcopy để "không" hoặc "breakhardlink".
backup
trong tôi .vimrc
, nhưng inode vẫn thay đổi, bởi vì mặc định là tập tin hiện sao lưu, xóa sau đó và / * bất cứ khi nào có thể * / đổi tên tập tin / * để sao lưu * / và ghi cái mới / * dưới cùng tên, thay đổi hiệu quả inode * / . Giải quyết bằng cách thêm set backupcopy=yes
vào .vimrc
.
Khi bạn muốn sửa đổi một tập tin, bạn có hai tùy chọn, mỗi tùy chọn đều có lợi ích và nhược điểm của nó.
Các trình soạn thảo nâng cao như Vim hoặc Emacs có thể chọn giữa hai phương thức. Khi họ sử dụng phương thức đầu tiên, họ thường tạo một tệp sao lưu trước, có thể được phục hồi nếu nội dung tệp mới không thể được viết chính xác.
Cổ điển vi ghi đè các tập tin tại chỗ. Vì vậy, inode không thay đổi.
Trong Vim, như CJM đã nói , sự lựa chọn được điều khiển bởi backup
, backupcopy
và writebackup
tùy chọn. Theo mặc định, Vim đổi tên tệp cũ, sau đó ghi một tệp mới với tên gốc, nếu nó nghĩ rằng nó có thể tạo lại các thuộc tính của tệp gốc. Nếu bạn muốn sử dụng lại inode hiện tại (và do đó có nguy cơ mất dữ liệu hoặc lãng phí thêm thời gian để tạo bản sao lưu), hãy thêm set backupcopy yes
vào .vimrc
.
writebackup
vì tôi đã tắt backup
và backupcopy
inode vẫn thay đổi.