Điều gì gây ra các tập tin trao đổi được tạo ra?


31

Là một phần của chương trình tôi đã viết, tôi liên tục đọc và ghi dữ liệu từ các tệp. Tôi nhận thấy rằng là một phần của việc đó, tôi vô tình tạo .swpcác tệp hoán đổi .

Bạn nghĩ gì đang xảy ra? Điều gì sẽ khiến các tập tin hoán đổi xuất hiện nếu bạn phải tái tạo vấn đề?

Câu trả lời:


41

Tệp .swp không phải là tệp hoán đổi theo nghĩa của hệ điều hành. Nó là một tập tin nhà nước. Nó giữ các thay đổi của bạn kể từ lần lưu cuối cùng (ngoại trừ 200 ký tự cuối cùng), bộ đệm mà bạn đã lưu, macro chưa được lưu và cấu trúc hoàn tác.

Bạn có thể đọc thêm trong trợ giúp của VIM : vim +help\ swap-file. Nếu có sự cố (mất điện, sự cố hệ điều hành, v.v.), thì bạn có thể khôi phục các thay đổi của mình bằng tệp hoán đổi này. Sau khi lưu các thay đổi từ tệp hoán đổi sang tệp gốc, bạn sẽ cần phải thoát vim và tự xóa tệp hoán đổi.


Vì một số lý do, tệp ~ / .swp của tôi là 11,7GB. Tôi vừa xóa nó.
Daniel Cheung

19

.swpcác tệp được tạo bởi Vim , chúng sẽ tự động bị xóa khi bạn đóng tệp và thoát khỏi trình chỉnh sửa.


1
Họ có thể được tạo ra từ bên ngoài Vim? Trong trường hợp của tôi, các tệp được ghi trực tiếp từ chương trình của tôi mà không cần sử dụng trình chỉnh sửa
JAM

@JAM: Chương trình này được viết bằng ngôn ngữ và thư viện nào?
jwodder

5
@JAM Nói chung là không, đó là một tính năng của Vim. Tôi nghi ngờ những tập tin này đang được viết trực tiếp từ chương trình của bạn mà bạn không biết, nó không có ý nghĩa gì. Có nhiều khả năng bạn sẽ nhầm lẫn, các tệp này đang được tạo trong khi bạn chỉnh sửa các tệp bằng Vim và bạn đang gán chúng cho chương trình của mình.
Juliano

4

Các tệp .swp không là gì ngoài một loại tệp khóa mà bạn chỉnh sửa, nói chung là vim, tạo ra để chỉ ra rằng tệp đang được chỉnh sửa. Bằng cách này nếu bạn mở tệp trong một ví dụ vim khác nếu ai đó trong mạng đã làm điều đó, họ sẽ thấy cảnh báo rằng tệp đang được chỉnh sửa.
Bạn không cần phải xóa chúng bằng tay. Trình chỉnh sửa của bạn sẽ xóa tệp hoán đổi sau khi bạn đóng tệp trong trình chỉnh sửa của mình.


2

Tôi vừa thực hiện lệnh mv trên tệp 31 GB và tệp .swp 13 GB đã được tạo, không cần chỉnh sửa.

mv X.csv Y.csv đã tạo Y.csv và .Y.csv.swp

Hệ thống tập tin CentOS 6.5, ext4


Cảm ơn. Bạn đã có trải nghiệm tương tự với 'rsync' chưa?
bắt đầu
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.