2013-10-10 8 views
5

Wie kann ich (automatisch, grundsätzlich sollte ich nichts neben der Erstkonfiguration zu tun haben) vim cwd in das Projektstammverzeichnis setzen (wenn es welche gibt) oder zum aktuellen Pufferverzeichnis (in einer autochdir Mode)? HierSetze vim aktuelles Arbeitsverzeichnis auf den aktuellen Projektstamm oder auf das Verzeichnis der aktuellen Datei

ist ein Beispiel für einen Dateipfad zu erwarten cwd: ~/foo/bar/SOME_FILE ->~/foo, wenn es eine ist ~/foo/.git/ dir oder ein ~/foo/.hg/ dir sonst ~/foo/bar/

Ich bin mir dessen bewusst airblade/vim-rooter aber es funktioniert nicht ganz (zB hängt es von bestimmten Dateierweiterungen ab, und ich möchte dieses Verhalten nicht).

+0

'set autochdir' bringt Sie zum aktuellen Pufferverzeichnis, nicht wahr? – Kent

+2

vim-rooter läuft jetzt standardmäßig auf allen Puffern, unabhängig von der Dateierweiterung. –

+0

Wenn jemand an einer praktischen manuellen Methode interessiert ist und bereits 'vim-flüchtig' verwendet, kann er': Gcd' eingeben, um zum Wurzelverzeichnis des Git-Repositories zu wechseln. – Hotschke

Antwort

3

Sie könnten das vim-rooter-Plugin mit einem autocmd verwenden, um alle Dateien auszulösen, etwa autocmd BufEnter * :Rooter. Das ist wahrscheinlich der einfachste Weg.

+0

Oh, das funktioniert, ich hatte versucht, den 'autocmd rooter BufEnter *: Rooter' in der 'README' empfohlen, aber das hat nicht funktioniert, aber das Löschen des' rooter' funktioniert gut. Vielen Dank. – foo

+1

'rooter' wird auf ein Beispiel' rooter'-filetype-Skript verwiesen, das einen Schritt vorher erstellt wurde. – romainl