Tập tin hoán đổi của xxx đã tồn tại trước khi chỉnh sửa tập tin cấu hình apache trong vim?


9

Sử dụng vim Tôi liên tục nhận được thông báo "Đã hoán đổi tệp xxx" khi tôi đang chỉnh sửa cấu hình apache. Tuy nhiên, tôi không thấy nó trong thư mục làm việc trên tmp. Làm thế nào để tôi xóa cái này?

Câu trả lời:


16

Các tệp hoán đổi Vim thường được ẩn (các tệp ẩn Unix bắt đầu bằng a .). Để xem các tập tin ẩn cũng như các tập tin thông thường, bạn cần phải ls -A(mnemonic: A for All). Điều đó sẽ cho bạn biết liệu một tập tin trao đổi có ở đó hay không.


5

Điều này chỉ xảy ra khi tệp bạn đang cố chỉnh sửa không được lưu hoàn toàn vào đĩa. Kịch bản là:

  1. Bạn tắt hệ thống của bạn không đúng cách, khi một tệp vẫn đang mở trong vi / vim.

  2. khi tệp của bạn đang được truy cập đồng thời thông qua các bảng điều khiển khác nhau / giống nhau trong vi.

vi / vim tạo tệp .swp bất cứ khi nào tệp được mở trong vi / vim. Mỗi khi một tệp được mở trong vi / vim, vi / vim sẽ kiểm tra tệp này và nếu thấy cảnh báo này bật lên

Điều này có thể tránh được theo hai cách

  1. một bằng cách xóa tệp .swp có tên là

"đường dẫn / của / tập tin / bạn / đã / đang chỉnh sửa / .your_file_name.swp"

  1. bạn cũng có thể chọn chế độ khôi phục vi / vim khi mở tệp và nhấn tùy chọn khôi phục.

Tôi chỉ nói về kịch bản đầu tiên và nó chỉ an toàn cho kịch bản đó. Kịch bản thứ hai là trường hợp khác nhau.


Nếu có những thay đổi chưa được lưu, bạn có thể khôi phục chúng bằng cách sử dụng vi -r(hoặc vim -rnếu bạn muốn). Tôi thường ghi tập tin phục hồi vào một tập tin tạm thời và diffnó chống lại tập tin chính. (Tôi không hoàn toàn tin tưởng vào sự phục hồi để không bị mất thông tin.)
Keith Thompson

1

Nếu tệp bạn đang chỉnh sửa được gọi httpd.confthì tệp hoán đổi sẽ được gọi .httpd.conf.swp. Nó được ẩn trừ khi bạn thêm -avào lsđối số của mình .

ls -a /etc/httpd/conf/

1

Để xóa tệp hoán đổi trong Linux, hãy sử dụng lệnh này

rm .filename.swp

0

Trong tin nhắn, bạn sẽ thấy đường dẫn đầy đủ đến tập tin. Bạn có thể rm nó bằng cách sao chép đường dẫn như sau:

rm -f /path/to/the/file
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.