Jak sugeruje @dwc, oto skrypt vim:
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
Weź to źródło i umieścić go w pliku w katalogu wtyczek, takich jak ~/.vim/plugin/gitignore.vim
. Przeczyta plik .gitignore
i przetworzy go, przekształcając jego format na format odpowiedni dla wildignore
, a następnie ustawi tę opcję.
Ograniczenia:
- ten odczyta plik
.gitignore
z katalogu, w którym uruchomić vim. Nie próbujemy szukać innych plików .gitignore
i analizować ich. Alternatywnie możesz podać bezwzględną ścieżkę do pliku w pierwszym wierszu.
- Opcja
wildignore
w vim nie obsługuje pojęcia negowania ignoruje jak można w pliku .gitignore
. Oznacza to, że nie można powiedzieć, że :set wildignore=*.html,!foo.html
ma zignorować wszystkie pliki html z wyjątkiem foo.html
. Dlatego linie .gitignore
zaczynają się od! są po prostu ignorowane.
FYI, oto kod na vim.org: http: //www.vim.org/scripts/script.php? script_id = 2557 – Florian
Zmień 'set wildignore =' na 'ustaw wildignore + ='. W ten sposób poprzednie ustawienia ignorowania nie zostaną nadpisane. – silvenon
Jak to działa w przypadku ścieżek głównych? ("/ blah") – silvenon