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

Я обнаружил, что при использовании Vim на Windows Vim сохраняет файл, файл .ext.swp который удаляется при закрытии windows Vim и файла .ext~ .

Я предполагаю, что файл .ext.swp является резервной копией сеанса в случае сбоя Vim. Какова цель файла .ext~ ? Это постоянный файл резервной копии? Это раздражает, поскольку я хотел бы скопировать все файлы, над которыми я работаю, на мой хост, без этих дубликатов. Как я могу отключить это или , если он там по уважительной причине, скрыть файлы ?

*.ext~ – это файл резервной копии, содержащий файл, который был до его редактирования.

*.ext.swp файл – это файл подкачки, который служит в качестве файла блокировки и содержит историю отмены / повтора, а также любые другие внутренние запросы Vim. В случае сбоя вы можете повторно открыть файл, и Vim восстановит его предыдущее состояние из файла подкачки (что мне кажется полезным, поэтому я не отключу его).

Чтобы отключить автоматическое создание файлов резервных копий, используйте (в вашем vimrc):

 set nobackup set nowritebackup 

Где nowritebackup изменяет поведение «Vim» по умолчанию, которое:

  1. записать буфер в новый файл
  2. удалить исходный файл
  3. переименуйте новый файл

и заставляет Vim записывать буфер в исходный файл (что приводит к риску его уничтожения в случае ошибки ввода-вывода). Но вы запрещаете «прыгать файлы» на рабочий стол Windows с ним, что является основной причиной для меня иметь nowritebackup на месте.

Я думаю, лучшее решение – разместить эти строки в файле vimrc

 set backupdir=~/vimtmp,. set directory=~/vimtmp,. 

Вы должны создать каталог в своем домашнем каталоге под названием vimtmp для этого.

Таким образом, вы получаете выгоду от обоих миров, вам не нужно видеть файлы, но если что-то пойдет на futzed, вы можете получить файл резервной копии из vimtmp. Не забудьте периодически чистить каталог.

Чтобы отключить эти файлы, просто добавьте эти строки в .vimrc (файл конфигурации vim в ОС на основе UNIX):

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

отключит резервные копии. Вы также можете установить backupdir, если вам все же нужны эти файлы резервного копирования, но в центральной папке. Таким образом, ваш рабочий каталог не усеян ~ файлами.

Дополнительную информацию о резервных копиях вы найдете в разделе « Резервное копирование» .

И вы также можете установить другое расширение для резервного копирования и где сохранить эту резервную копию (я предпочитаю ~/.vimbackups на linux). Раньше я использовал резервные копии с версией:

 au BufWritePre * let &bex = '-' . strftime("%Y%m%d-%H%M%S") . '.vimbackup' 

Это устанавливает расширение динамической резервной копии ( ORIGINALFILENAME-YYYYMMDD-HHMMSS.vimbackup ).

Вы правы, что файл .swp используется vim для блокировки и как файл восстановления.

Попробуйте положить set nobackup в свой vimrc, если вы не хотите этих файлов. См. Документы Vim для различных параметров, связанных с резервными копиями, если вы хотите весь совок или хотите иметь .bak-файлы вместо этого …

Единственный вариант, который работал для меня, заключался в том, чтобы поместить эту строку в файл ~ / .vimrc

set noundofile

Другие опции, относящиеся к файлам резервного копирования, не препятствовали созданию файлов temp, заканчивающихся на ~ (тильда)

Поместите эту строку в свой vimrc :

 set nobk nowb noswf noudf " nobackup nowritebackup noswapfile noundofile 

В Windows это будет файл C:\Program Files (x86)\vim\_vimrc для общесистемной конфигурации vim для всех пользователей.

Установка последнего noundofile важна в Windows, чтобы предотвратить создание файлов *~ tilda после редактирования.


Я хочу, чтобы у Vim была включена эта строка по умолчанию. Никто не любит уродливые каталоги.

Позвольте пользователю выбрать, следует ли и как она хочет включить расширенные функции резервного копирования / отмены файла.

Это самая неприятная часть Vim.

Следующим шагом будет установка set noeb vb t_vb= для отключения звукового set noeb vb t_vb= : P

Мне пришлось добавить set noundofile в ~ _gvimrc

Каталог «~» можно определить, изменив каталог с помощью команды cd ~

  • Как я могу расширить полный путь к текущему файлу, чтобы перейти к команде в Vim?
  • Где мой .vimrc-файл?
  • Vim: применить настройки к файлам в каталоге
  • В Vim, как эффективно вставлять одни и те же символы в несколько строк?
  • Как запустить терминал внутри Vim?
  • vim, быстрое переключение между файлами с помощью ванильного Vim (без плагинов)
  • Давайте будем гением компьютера.