«Файл подкачки xxx уже существует» при редактировании файла конфигурации apache в vim?


9

Используя vim, я продолжаю получать сообщение «Файл подкачки xxx уже существует», когда я редактирую конфигурацию apache. Однако я не вижу его в рабочем каталоге на tmp. Как мне это удалить?

Ответы:


16

Файлы подкачки Vim обычно скрыты (скрытые файлы Unix начинаются с a .). Чтобы просматривать как скрытые, так и обычные файлы, вам необходимо ls -A(мнемоника: A для всех). Это должно показать вам, есть ли файл подкачки или нет.


5

Это происходит только тогда, когда файл, который вы пытались редактировать, не был полностью сохранен на диске. Сценарии:

  1. Вы неправильно закрыли свою систему, когда файл все еще открыт в vi / vim.

  2. когда к вашему файлу обращаются одновременно через разные / одинаковые консоли в vi.

vi / vim создает файл .swp всякий раз, когда файл открывается в vi / vim. Каждый раз, когда файл открывается в vi / vim, vi / vim проверяет этот файл, и если обнаруживается, появляется это предупреждение.

Этого можно избежать двумя способами

  1. один, удалив файл .swp, который называется

"Путь / из / в / файла / вы / были / редактирование / .your_file_name.swp"

  1. Вы также можете выбрать режим восстановления vi / vim при открытии файла и нажатии опции восстановления.

Я просто говорю о первом сценарии, и он безопасен только для этого сценария. Сценарий второй - это другой случай.


Если были несохраненные изменения, вы можете восстановить их, используя vi -r(или, vim -rесли хотите). Я обычно записываю восстановленный файл во временный файл, а diffон в основной файл. (Я не совсем верю в восстановление, чтобы не потерять информацию.)
Кит Томпсон

1

Если файл, который вы редактируете, вызывается, httpd.confто вызывается файл подкачки .httpd.conf.swp. Это скрыто, если вы не добавите -aк своим lsаргументам.

ls -a /etc/httpd/conf/


0

В сообщении вы должны увидеть полный путь к файлу. Вы можете изменить его, скопировав путь следующим образом:

rm -f /path/to/the/file
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.