Отключение создания файлов подкачки в vim

Есть ли способ отключить создание файлов .swp в vim? или, по крайней мере, создать их все в одном месте, чтобы я мог легко их найти и удалить.

Я нахожу их особенно раздражающими, когда копирую родительский каталог во время редактирования одновременно. Конечно, я знаю, что я могу использовать find -exec для их поиска и удаления. Но я хочу более практичное решение.

Ответ 1

Попробуйте :set noswapfile или без ":" в файле vimrc. Для получения дополнительной информации см. Vim docs в swapfile

Ответ 2

Задайте следующие переменные в .vimrc или /etc/vimrc, чтобы сделать vim заменой swap, backup и undo файлов в специальном месте вместо рабочего каталога редактируемого файла:

set backupdir=~/.vim/backup//
set directory=~/.vim/swap//
set undodir=~/.vim/undo//

Использование двойной конечной косой черты в пути указывает vim включить функцию, позволяющую избежать конфликтов имен. Например, если вы редактируете файл в одном месте и другом файле в другом месте, и оба файла имеют одинаковое имя, вы не хотите, чтобы столкновение имен происходило в ~/.vim/swap/. Если вы укажете ~/.vim/swap//с двумя конечными косой чертой, vim создаст файлы подкачки, используя весь путь редактируемых файлов, чтобы избежать коллизий (слэши в пути файла будут заменены символом процента%).

Например, если вы редактируете /path/one/foobar.txt и/path/two/foobar.txt, то вы увидите два файла подкачки в ~/.vim/swap/, которые называются% path% one% foobar.txt и% path% два% foobar.txt соответственно.

Ответ 3

Я нашел ответ здесь:

vim -n <file>

открывает файл без файла подкачки.

Кроме того:

set dir=/tmp

в .vimrc создает swapfiles в /tmp.

Ответ 4

вот мои личные настройки ~/.vimrc backup

" backup to ~/.tmp 
set backup 
set backupdir=~/.vim-tmp,~/.tmp,~/tmp,/var/tmp,/tmp 
set backupskip=/tmp/*,/private/tmp/* 
set directory=~/.vim-tmp,~/.tmp,~/tmp,/var/tmp,/tmp 
set writebackup

Ответ 5

Я согласен с теми, кто задает вопрос, почему vim нуждается во всем этом "аварийном восстановлении", когда другие редакторы не беспокоятся об этом. Я не хочу, чтобы vim создавал ЛЮБЫЕ дополнительные файлы в отредактированном каталоге файлов, когда я его редактирую, большое спасибо. С этой целью у меня есть в моем _vimrc, чтобы отключить файлы подкачки и переместить раздражающие "резервные" файлы в каталог Temp:

" Uncomment below to prevent 'tilde backup files' (eg. myfile.txt~) from being created
"set nobackup

" Uncomment below to cause 'tilde backup files' to be created in a different dir so as not to clutter up the current file directory (probably a better idea than disabling them altogether)
set backupdir=C:\Windows\Temp

" Uncomment below to disable 'swap files' (eg. .myfile.txt.swp) from being created
set noswapfile

Ответ 6

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

set backupdir=~/.vim/backup/
set directory=~/.vim/backup/

Ответ 7

Если вы поместите set directory="" в свой exrc файл, вы отключите файл подкачки. Однако это приведет к отключению восстановления.

Подробнее здесь.

Ответ 8

не создавайте файл подкачки vim только для определенного файла

autocmd bufenter  c:/aaa/Dropbox/TapNote/Todo.txt :set noswapfile

Ответ 9

Если вы используете git, вы можете добавить *.swp в .gitignore.

Ответ 10

Для тех, кто пытается установить это для проектов Rails, добавьте

set directory=tmp,/tmp

в

~/.vimrc

Таким образом, файлы .swp будут в их естественном расположении - каталог tmp (для каждого проекта).