Почему Vim сохраняет файлы с расширением?
Я обнаружил, что при использовании Vim на Windows Vim сохраняет файл, файл .ext.swp
который удаляется при закрытии windows Vim и файла .ext~
.
Я предполагаю, что файл .ext.swp
является резервной копией сеанса в случае сбоя Vim. Какова цель файла .ext~
? Это постоянный файл резервной копии? Это раздражает, поскольку я хотел бы скопировать все файлы, над которыми я работаю, на мой хост, без этих дубликатов. Как я могу отключить это или , если он там по уважительной причине, скрыть файлы ?
- VIM - Как сопоставить Shift-Enter
- Как скопировать Ctrl + A и Ctrl + Shift + по-другому?
- Избавьтесь от выделения Vim после поиска текста
- Почему \ n новая линия для Vim?
- Как получить визуально выделенный текст в VimScript
- Более полезная статусная линия в vim?
- Могу ли я отобразить Alt в Vim?
- Как заставить vim делать обычную (bash like) вкладку завершения для имен файлов?
- Как изменить курсор vim в режиме Insert / normal?
- Вставить в режиме вставки?
- Переопределить вкладку как 4 пробела
- Почему ci "и ci (, ci {... ведут себя по-другому?
- Может ли vim контролировать изменения в реальном времени в файле
*.ext~
– это файл резервной копии, содержащий файл, который был до его редактирования.
*.ext.swp
файл – это файл подкачки, который служит в качестве файла блокировки и содержит историю отмены / повтора, а также любые другие внутренние запросы Vim. В случае сбоя вы можете повторно открыть файл, и Vim восстановит его предыдущее состояние из файла подкачки (что мне кажется полезным, поэтому я не отключу его).
Чтобы отключить автоматическое создание файлов резервных копий, используйте (в вашем vimrc):
set nobackup set nowritebackup
Где nowritebackup
изменяет поведение «Vim» по умолчанию, которое:
- записать буфер в новый файл
- удалить исходный файл
- переименуйте новый файл
и заставляет 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 ~