Come suggerito da @dwc, ecco uno script 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
Take That fonte e metterlo in un file nella directory dei plugin, come ad esempio ~/.vim/plugin/gitignore.vim
. Legge il file .gitignore
e lo analizza, trasformandone il formato in uno adatto per wildignore
e quindi imposta tale opzione.
Limitazioni:
- Questo leggerà il file
.gitignore
dalla directory in cui si avvia vim. Non viene effettuato alcuno sforzo per cercare altri file .gitignore
e analizzarli. In alternativa, è possibile specificare un percorso assoluto per un file sulla prima riga.
- L'opzione
wildignore
in vim non supporta la nozione di negando ignora come è possibile in un file .gitignore
. Cioè, non puoi dire :set wildignore=*.html,!foo.html
per far ignorare tutti i file html tranne foo.html
. Pertanto, .gitignore
righe che iniziano con! sono semplicemente ignorati.
fonte
2009-02-24 14:05:26
FYI, ecco il codice su vim.org: http: //www.vim.org/scripts/script.php? script_id = 2557 – Florian
Cambia 'set wildignore =' per 'set wildignore + ='. In questo modo le precedenti impostazioni di ignora non vengono sovrascritte. – silvenon
Come si fa a funzionare per i percorsi di root? ("/ Bla") – silvenon