Ответ 1
Как было предложено @dwc, здесь vim script:
let filename = '.gitignore'
if filereadable(filename)
let igstring = ''
for oline in readfile(filename)
let line = substitute(oline, '\s|\n|\r', '', "g")
if line =~ '^#' | con | endif
if line == '' | con | endif
if line =~ '^!' | con | endif
if line =~ '/$' | let igstring .= "," . line . "*" | con | endif
let igstring .= "," . line
endfor
let execstring = "set wildignore=".substitute(igstring, '^,', '', "g")
execute execstring
endif
Возьмите этот источник и поместите его в файл в свой каталог плагинов, например ~/.vim/plugin/gitignore.vim
. Он прочитает ваш файл .gitignore
и проанализирует его, преобразуя его формат в один, подходящий для wildignore
, а затем установите этот параметр.
Ограничения
- Это будет читать файл
.gitignore
из каталога, в котором вы запускаете vim. Не прилагается никаких усилий для поиска других файлов.gitignore
и их анализа. Кроме того, вы можете указать абсолютный путь к файлу в первой строке. - Параметр
wildignore
в vim не поддерживает понятие отрицания игнорирования, как вы можете, в файле.gitignore
. То есть вы не можете сказать:set wildignore=*.html,!foo.html
, чтобы он игнорировал все html файлы, кромеfoo.html
. Поэтому.gitignore
линии, которые начинаются с! просто игнорируются.