Скрыть резервные копии Vim (* ~) в проводнике Windows - PullRequest
5 голосов
/ 27 марта 2012

В Windows я обычно работаю с Total Commander, который может быть легко настроен на полное игнорирование этих *.*~ и *~. Но иногда, когда я переключаюсь в Windows Explorer, я немного путаюсь со всеми этими «неизвестными» файлами /.

Могу ли я настроить Vim так, чтобы при каждом создании резервной копии он также устанавливал атрибут "скрытый"?

Или настроить хороший обходной путь?

Я знаю, что могу настроить Vim для помещения их в другой каталог, но я бы хотел этого избежать, поскольку IIUC может страдать от конфликтов имен.

Ответы [ 3 ]

5 голосов
/ 28 марта 2012

Если установлена ​​опция backup, vim обновляет файл резервной копии каждый раз, когда мы записываем файл с :w. И каждый раз он создает файл, который не скрыт, даже если вы его ранее скрыли! Поэтому нам нужно что-то делать каждый раз, когда мы записываем буфер в файл.

Вы можете сделать это в Windows. В вашем файле _vimrc (обычно в C:\Program Files (x86)\Vim) добавьте эту строку

autocmd BufWritePost,FileWritePost * silent ! attrib +h <afile>~

Где,

attrib=Windows File attribute changinf command
<afile>= Name of the file being sourced
silent= Prevent an annoying command window from popping up and asking user to press a key

Это гарантирует, что файл резервной копии будет скрыт при каждой записи в файл из буфера. Почему каждый раз? Cos vim создает не скрытый файл при каждой записи!

Но вы должны жить с мигающим черным окном (командным окном, в котором мы запускаем команду attrib) каждый раз, когда вы сохраняете свой файл, но оно того стоит:)

В системах linux / unix вы можете добавить это в .vimrc

autocmd BufWritePost,FileWritePost * silent ! mv <afile>~ .<afile>

Надеюсь, это поможет всем, кто пытается найти способ скрыть файлы резервных копий vim.

3 голосов
/ 27 апреля 2017

Я недавно написал плагин для этого, который называется autohide .Он работает, устанавливая атрибут «скрытый» после записи, как предложено в ответе Павана.По умолчанию это делается только для файлов подкачки, viminfo и постоянных файлов отмены;Вы можете сделать так, чтобы он только скрывал файлы резервных копий, настроив let g:autohide_file_list='b' в вашем .vimrc или добавив его в список по умолчанию вместо 'suvb' вместо просто 'b'.

Преимущества по сравнению с ручным методом в Pavan'sОтвет включает обработку дополнительных типов файлов, произвольных шаблонов файлов (таких как точечные файлы) и некоторую обработку ошибок (особенно связанных с медленными общими сетевыми ресурсами, которые не позволяют устанавливать атрибуты сразу после создания файла).

1 голос
/ 28 марта 2012

У меня есть это в моем _gvimrc:

set nobackup

Во-первых, файлы резервных копий не создаются.Однако файл подкачки (.*.swp) все еще создается во время редактирования (и удаляется при закрытии Vim).Поэтому, если ваш компьютер выходит из строя, вы все равно можете восстановить свои изменения.

...