2013-10-10 20 views
5

Come posso (automaticamente, in pratica non dovrei avere nulla da fare a parte la configurazione iniziale) impostare vim cwd nella directory root del progetto (se ce n'è uno) o nella directory buffer corrente (in un modo autochdir)?Impostare la directory di lavoro corrente vim sulla root di progetto corrente o sulla directory del file corrente

Ecco un esempio di un percorso di file di CWD previsto: ~/foo/bar/SOME_FILE ->~/foo se v'è un dir ~/foo/.git/ o un ~/foo/.hg/ dir altrimenti ~/foo/bar/

Sono consapevole di airblade/vim-rooter ma non funziona abbastanza (ad es. si basa su estensioni di file specifiche e non voglio questo comportamento).

+0

'set autochdir' ti porterà alla directory del buffer corrente, non è vero? – Kent

+2

Il vim-rooter ora funziona su tutti i buffer, indipendentemente dall'estensione del file, per impostazione predefinita. –

+0

Se qualcuno è interessato ad una comoda modalità manuale e usa già 'vim-fugitive', può digitare': Gcd' per passare alla directory root del repository git. – Hotschke

risposta

3

È possibile utilizzare il plug-in vim-rooter con un autocmd per eseguire il trigger su tutti i file, ad esempio autocmd BufEnter * :Rooter. Questo è probabilmente il modo più semplice.

+0

Oh, funziona, ho provato il 'autocmd rooter BufEnter *: Rooter' raccomandato nel' README', ma non ha funzionato, ma l'eliminazione del 'rooter' funziona correttamente. Grazie. – foo

+1

'rooter' fa riferimento a uno script di tipo file 'rooter' creato un passo prima. – romainl

Problemi correlati