Как предотвратить vim от создания (и ухода) временных файлов?

Почему vim создает файлы <filename>~? Есть ли способ отключить это?

Если для резервного копирования (или чего-то еще), я использую для этого git.

Кроме того, эти файлы .<filename.with.path.hints>.swp тоже.

Как я могу сообщить vim, чтобы не создавать их или, по крайней мере, для очистки после себя?

ИЗМЕНИТЬ

wops, duplicate:

Почему Vim сохраняет файлы с расширением?

Я принял ответ rogeriopvl оттуда.

verbatim copy:

set nobackup       #no backup files
set nowritebackup  #only in case you don't want a backup file while editing
set noswapfile     #no swap files

Ответ 1

Я настоятельно рекомендую продолжать работу с файлами подкачки (в случае сбоев Vim).

Вы можете установить каталог, в котором хранятся файлы подкачки, поэтому они не загромождают ваши обычные каталоги:

set swapfile
set dir=~/tmp

См. также

:help swap-file

Ответ 2

Поместите это в конфигурационный файл .vimrc.

set nobackup

Ответ 3

; Для пользователей Windows для возврата в каталог temp

set backup
set backupdir=C:\WINDOWS\Temp
set backupskip=C:\WINDOWS\Temp\*
set directory=C:\WINDOWS\Temp
set writebackup

Ответ 4

Я создал плагин под названием "noswapsuck", который включает только swap файл, когда буфер содержит несохраненные изменения. После того, как изменения сохранены, файл подкачки очищается. Следовательно, swapfiles, которые содержат то же содержимое, что и файл на диске, будут удалены.

https://github.com/joeytwiddle/rc_files/blob/master/.vim/plugin/noswapsuck.vim

Это хорошо работает для меня, но я никогда не публиковал его раньше, поэтому я бы приветствовал обратную связь.

Преимущества:

  • Единственные файлы подкачки, которые остаются на вашем диске, будут важными swap файлами, которые фактически отличаются от файла!

Недостатки:

  • Если в буфере есть файл подкачки, он не будет обнаружен, когда файл будет сначала открыт. Он будет обнаружен только в том случае, если swapfile включен, когда вы начинаете редактировать буфер. Это досадно поздно и прервет вас. Некоторая дополнительная магия при первом открытии файла (например, включение, галочка, затем отключить swapfile) может потенциально решить эту проблему.
  • Если вы находитесь в среде, где вы хотите минимизировать запись на диск (например, с низким энергопотреблением или файлы, смонтированные по сети), это не является хорошим решением, поскольку оно продолжает уничтожать и воссоздавать файл подкачки на каждом сохранить/редактировать. (*)
  • По той же причине это не очень хороший плагин для редактирования огромных файлов.

(*) Фактически значения по умолчанию для плагина позволяют избежать этой проблемы, сохраняя swapfile включенным после записи и только отключая его позже, когда вы размораживаете окно или буфер. Недостатком этого является то, что ненужные swapfiles будут иногда существовать на диске после сбоя. Поэтому отключить эту опцию рекомендуется на мощных машинах. Я могу изменить это значение по умолчанию в будущем!

Ответ 5

В Windows добавьте следующие строки в _vimrc

" store backup, undo, and swap files in temp directory
set directory=$HOME/temp//
set backupdir=$HOME/temp//
set undodir=$HOME/temp//

Ответ 6

Этот ответ применяется к использованию gVim для Windows 10. Я не могу гарантировать одинаковые результаты для других операционных систем.

Добавить

set nobackup
set noswapfile
set noundofile

В файл _vimrc.

Примечание. Это прямой ответ на вопрос (для Windows 10) и, вероятно, не самая безопасная вещь (читайте другие ответы), но это самое быстрое решение в моем случае.