it-swarm.com.de

Wie öffne ich das Verzeichnis der aktuell geöffneten Datei?

Wenn ich eine Datei mit vim dir/to/my/file.c öffne, wie kann ich das Verzeichnis dir/to/my im Dateibrowser von vim problemlos öffnen?

80
JtR

Versuchen Sie es mit :Ex[plore]. Von :help Ex:

: Explore öffnet den lokalen Verzeichnis-Browser im Verzeichnis der aktuellen Datei (oder im Verzeichnis [dir], falls angegeben). Das Fenster wird nur geteilt, wenn die Datei geändert wurde, andernfalls übernimmt das Browserfenster dieses Fenster. Normalerweise erfolgt die Aufteilung horizontal.

101
innaM

Ich persönlich bevorzuge die:

:Sex

befehl. Es erledigt das geteilte Fenster für Sie und legt Sie im aktuellen Verzeichnis ab.

:Sex dir/to/my

funktioniert auch.

74
Jack M.

Du könntest benutzen:

:e %:h

Weitere Informationen zu Erweiterungen finden Sie hier: http://vimdoc.sourceforge.net/htmldoc/eval.html#expand ()

13
Jake

Wie bereits erwähnt, können Sie einfach ": Explorer" ausführen und es wird der Datei-Explorer für das Verzeichnis der aktuellen Datei geöffnet.

Wenn Sie das Verzeichnis jedoch explizit angeben müssen, können Sie es verwenden ctrl+r in der: -Befehlszeile, um den Inhalt eines Registers einzulesen, und das% -Register ist der aktuelle Dateiname, einschließlich eines Pfads, falls erforderlich. Also mache einfach: e ctrl+r%, dann die Rücktaste über dem Dateinamen drücken und die Eingabetaste drücken.

Es gibt andere Möglichkeiten, dies zu tun, aber dies ist die Methode, die ich normalerweise verwende.

10
Heptite

So öffnen Sie den Windows Explorer mit dem aktuellen Dateiverzeichnis:

:!start Explorer /select,%:p

(Quelle: http://vim.wikia.com/wiki/Open_Windows_Explorer_showing_directory_of_current_buffer )

3
DomCha

Wenn Sie mit dem Befehl pwd unter Unix bearbeiten, wird das aktuelle Verzeichnis geöffnet, in dem Sie sich befinden.

:e `pwd`

Dies funktioniert nicht so, wie Sie es möchten, wenn Sie in vim eine cd erstellt haben.

1
nik
:e `dirname %`

dirname wird zu dem Verzeichnis erweitert, in dem sich die aktuelle Datei befindet.

wenn Sie tatsächlich eine Shell darin haben möchten, müssen Sie :lcd %:p:h ausführen :Shell und dann das Arbeitsverzeichnis wiederherstellen, nachdem Sie das Programm beendet haben

0
JonnyRaa