Tại sao vim để lại các phiên bản tệp tạm thời ở khắp mọi nơi?


9

Trước hết tôi giả sử những tệp đó kết thúc bằng "~" được tạo bởi vim khi chỉnh sửa tệp thực sự phục vụ mục đích sao lưu tạm thời trong khi chỉnh sửa.

Nhưng mỗi lần tôi mở một tệp bằng vim và đóng nó (: wq) thì sau đó tôi lại tìm thấy một tệp như vậy ~. Tại sao vim không dọn dẹp? Tôi giả sử có một cái gì đó không được cấu hình chính xác.


2
Chúng không phải là tập tin sao lưu tạm thời; chúng là phiên bản trước của các tập tin. Trong một thư mục dưới sự kiểm soát phiên bản, chúng có xu hướng trở nên phiền toái.
Thorbjørn Ravn Andersen

Câu trả lời:


19

Bạn có thể vô hiệu hóa các tệp sao lưu đặt dòng này trong tệp vimrc của bạn:

thiết lập nobackup

Nhưng nếu bạn vẫn muốn sao lưu các tệp của mình, hãy tập trung nó vào một thư mục với:

đặt backupdir = ~ / tmp

ví dụ.


1
cảm ơn - nhưng đây có thực sự là hành vi dự định không? Ý tôi là ngay cả khi tôi không thay đổi bất cứ điều gì trong tệp, các tệp đó được tạo và duy trì sau khi đóng vim. Tôi cho rằng (theo trực giác) rằng vim phải có thể thoát khỏi những tập tin đó khi đóng cửa!? Tôi không muốn tắt nó vì nó có thể được sử dụng khi vim gặp sự cố. Các backupdir-giải pháp có vẻ là một sự thỏa hiệp tốt mặc dù
Raffael

Đúng; Chúng là các tập tin sao lưu; hành vi mặc định là tạo các tệp sao lưu đó.
Ramhound

@ Affael, backuptùy chọn tắt theo mặc định, bạn nên đọc tài liệu trước khi bật tùy chọn.
romainl

2
@ Affael Các .swptập tin được sử dụng khi vim gặp sự cố, không phải bản sao lưu
Izkata 17/03/2016

1
Các tập tin sao lưu được tạo khi bạn viết tập tin. Nếu bạn không thay đổi bất cứ điều gì, tại sao bạn viết nó? Nếu bạn chỉ thường xuyên làm :wcó thể bạn có thể làm :upthay vào đó sẽ chỉ lưu nếu có thay đổi.
Ben

5

Trước hết tôi cho rằng những tập tin [[]] thực sự phục vụ mục đích sao lưu tạm thời trong khi chỉnh sửa.

Không. Chúng là các bản sao lưu không tạm thời được thực hiện khi lưu .

Các tệp tạm thời được tạo trong khi chỉnh sửa là (trên các nền tảng tương tự UNIX) có tên .wibble.swp(đối với tệp có tên wibble).

: giúp sao lưu
trong vimbản thân mang đến cho bạn những gen trên trước đây, bao gồm các quy tắc cho khi các tập tin sao lưu được tạo ra và khi họ không.
: giúp trao đổi
cung cấp cho bạn các gen về sau.


1) "gen" có nghĩa là gì? 2) mục đích nào để những bản sao lưu không tạm thời phục vụ?
Raffael


2
Với liên kết đó, bạn buộc người đọc phải xem qua các định nghĩa cho đến khi có ý nghĩa. Tại sao không chỉ nói đó là một thế giới không chính thức cho "thông tin"?
Andrew Cheong
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.