Tệp .un ~ là gì hoặc tại sao Vim trong Terminal tạo tệp .un ~?


93

Tôi nhận thấy rằng tôi có một số tệp dotfiles kết thúc bằng .un~, ví dụ như tôi có .vividchalk.vim.un~, nhưng tôi không chắc nó đến từ đâu. Có vẻ như chúng được tạo ra khi tôi sử dụng Vim trong Terminal. Những tệp này là gì? Có thể yêu cầu chúng tự xóa khi tôi đóng tệp đang chỉnh sửa không?

Câu trả lời:


136

Khi bạn chỉnh sửa và lưu tệp, Vim sẽ tạo một tệp có cùng tên với tệp gốc và một un~phần mở rộng ở cuối.

Vim 7.3 có một tính năng mới là hoàn tác liên tục, tức là, thông tin hoàn tác sẽ không bị mất khi thoát Vim và được lưu trữ trong một tệp có kết thúc bằng .un~. Bạn đã đặt undofiletùy chọn, vì vậy Vim tạo tệp hoàn tác khi lưu tệp gốc. Bạn có thể ngăn Vim tạo tệp sao lưu bằng cách xóa tùy chọn:

:set noundofile

Lưu ý rằng, theo mặc định, tùy chọn này bị tắt. Bạn đã bật undofiletùy chọn một cách rõ ràng trong một trong các tệp khởi tạo. Nếu bạn muốn các tập tin hoàn tác của mình chỉ được lưu trữ trong một thư mục cụ thể, bạn có thể trỏ undodirtùy chọn đến một thư mục sẽ chứa tất cả các tập tin hoàn tác tổng hợp của bạn.

Nguồn: http://vimhelp.appspot.com/vim_faq.txt.html#faq-7.2


4
Cảm ơn! Tôi mới sử dụng Vim và đang cố gắng hiểu và định cấu hình mà không cần hàng hóa. Tôi thấy bây giờ cài đặt đó đến từ vim-sensible. Đọc ReadMe trên vim-sensible rất hữu ích. Và tôi đã học được (từ một chương trình truyền hình peepcode) rằng tôi có thể làm được :verbose set undofile?và tôi sẽ xem tùy chọn đó được đặt ở đâu. Tôi nghĩ rằng tôi có quyền đó.
kaplan

1
Tôi có Vim 7.3 và tính năng hoàn tác liên tục không hoạt động với tôi (tôi cần phải set undofilehoàn tác liên tục). Các cài đặt khác có can thiệp vào tính năng mới không, ví dụ: nobackuphoặc noswapfile?
Dennis

Tôi nghĩ rằng trình cài đặt không-kem-vim cũng đặt điều này được bật theo mặc định.
Josiah Yoder

1
Trời ơi!! bây giờ tôi phải nhớ: set nobackup set noswapfile set noundofiletrong mỗi _vimrc nếu tôi không muốn theo dõi chó con ?? !! Bạn sẽ nghĩ một trong những có thể mặc định để tắt hoặc một cái gì đó ...
ebyrob

12
Có vẻ như vim 8 (ít nhất 8.0.427) đã bật tính năng này theo mặc định. Tất nhiên là YMMV ...
Chuck Wolber 15/02/18

3

Tôi mất một lúc để tìm nơi thực sự đặt :set noundofilelệnh. Tôi là người mới và tôi sẽ chỉ trả lời với cách tôi đã làm cho nó không sao lưu.

  1. Mở vim.
  2. Nhập vào chế độ lệnh :e $HOME/.vimrc
  3. Viết :set noundofile
  4. Lưu và thoát: :wq

Nó hoạt động cho trường hợp sử dụng của tôi, hơi khác một chút: sử dụng Vim bên trong ConEmu trên Windows. Cảm ơn!
Mário Meyrelles

Tôi nhận được undofiles theo mặc định trên trình cài đặt vim windows. Hướng dẫn của bạn đã giúp tôi, cảm ơn!
Cardin
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.