Wenn ich eine Datei in Vim bearbeite, gibt es einen Befehl, um den Pfad der aktuellen Datei zu sehen? Dies ist manchmal sehr praktisch, wenn ein Projekt mehrere Dateien mit demselben Namen enthält.
statusline
Thameera
quelle
quelle
Ctrl+G
eher wie "Pfad relativ zu Vims CWD"?C-g
die Standardeinstellung für zu sein0C-g
und2C-g
zeigt zusätzlich die Pufferindexnummer (ab 1) an.1C-g
!Register
%
enthält den Namen der aktuellen Datei.Die folgenden Befehle können eingegeben werden, um die angezeigten Informationen anzuzeigen:
Wenn Sie nur den Namen der aktuellen Datei anzeigen möchten, geben Sie
:f
/ ein:ls
oder drücken Sie Ctrl- g(für den vollständigen Pfad drücken Sie 1dann Ctrl- g).Im Insert - Modus geben Ctrl- rdann %den Namen der aktuellen Datei einzufügen.
Die folgenden Befehle fügen Zeilen ein, die aus dem vollständigen Pfad der aktuellen und alternativen Dateien bestehen:
Quelle: Liefert den Namen der aktuellen Datei bei vim wikia
Verbunden:
quelle
=expand...
Ausdrücke auchCtrl-R
im Einfügemodus nachher verwenden können.Mit können
:!ls %:p
Sie den vollständigen Pfad zur aktuellen Datei abrufen.Je nach Ex-Kontext
%
wird entweder der Inhalt der Datei oder der Dateiname gemeint. Beim Shelling wird der Dateipfad relativ zum aktuellen Verzeichnis dargestellt. Der Befehl '%:p
' fügt den Dateinamen-Modifikator für den vollständigen Pfad hinzu%
.Es gibt einige andere interessante Dateinamenmodifikatoren wie:
:~
: Abrufen des Dateipfads relativ zum Basisverzeichnis (dieses hat aus irgendeinem Grund bei mir nicht funktioniert):.
: Ermittelt den Dateipfad relativ zum aktuellen Verzeichnis (%
Standard):r
: Dateiname root. Der Name der Datei ohne die Erweiterung.:e
: Dateierweiterung.:h
: Teilen Sie auf/
und geben Sie die linke Hälfte zurück (dh, wenn ich eine Datei in einem Pfad von bearbeite/tmp/test.txt
und ausführe,%:p:h
wird zurückgegeben/tmp
:t
: Teilen Sie auf/
und geben Sie die rechte Hälfte zurück (dh, wenn ich eine Datei in einem Pfad von bearbeite/tmp/test.txt
und ausführe,%:p:t
wird zurückgegebentext.txt
quelle
Das aktuelle Arbeitsverzeichnis sieht man mit
:pwd
. Dies ist natürlich nur das Verzeichnis und nicht der Dateiname. Um das Arbeitsverzeichnis und den Dateinamen zu erhalten, können wir das Spezialregister verwenden%
, das Informationen über die aktuelle Datei enthält.Wenn Sie verwenden
:echo @%
, erhalten Sie das Verzeichnis und den Dateinamen der aktuellen Datei.Wenn Sie verwenden
:echo expand('%:p')
, erhalten Sie den vollständigen Pfad und Dateinamen der aktuellen Datei. Dies ist der Antwort von CharlesL sehr ähnlich .Ich erinnere mich an diese, obwohl, denn wenn man vim Hilfe verwenden
:h expand
, dann erwähnt, dass%
und%:p
und deren Angehörige.quelle
Ich benutze:
Das ist
:f
oder:file
.Ich bin überrascht, dass niemand dies in den Antworten erwähnt. Vermisse ich etwas?
quelle
Verwenden Sie Folgendes, um den vollständigen Pfad für alle Dateien einschließlich aufgelöster Symlinks anzuzeigen.
quelle
Es gibt bereits bessere Antworten, aber wenn Sie (aus irgendeinem Grund) die Shell verwenden möchten, um den vollständigen Pfad der Datei abzurufen (dies ist nützlicher, wenn Sie mit der Shell eine andere Operation für die Datei ausführen möchten), Auf einem Unix-ähnlichen System könnten Sie Folgendes ausführen:
oder:
um den Pfad über der aktuellen Auswahl in das Dokument einzufügen.
Register
%
enthält immer den Namen der Datei. Ein Beispiel aus der Praxis könnte sein, dass Sie eine Konfigurationsdatei bearbeiten, aber keine Schreibrechte haben (und Vim nicht als root ausführen möchten), die Datei bearbeiten und dann ausführen können:um die Datei zu speichern (ein winziges Thema, aber es ist ein gutes Beispiel dafür, was man mit dem
%
Register noch machen kann).quelle
realpath
ist nicht POSIX, daher ist es möglicherweise einfacher:!echo "$PWD/%"
Sie müssen die Statuszeile so einstellen, dass sie angezeigt wird, und den Pfad angeben. Ich tat dies dauerhaft, indem ich die beiden folgenden Zeilen zu meinem ~ / .vimrc hinzufügte
Wenn Sie das nur einmal ausführen möchten. Dann beim VIing eines Dokumenttyps
quelle
Ich benutze dafür vim airline und ein paar nette Features:
quelle
Sie können den vollständigen Pfad der Datei, die Sie bearbeiten, in der Titelleiste anzeigen. Dies ist meiner Meinung nach eine bequeme Möglichkeit, den Dateipfad anzuzeigen.
Dazu müssen Sie die
title
Option und setzentitlestring
. Aktuell verwende ich folgende Einstellungen:Es zeigt den Hostnamen von Vim, dann den vollständigen Pfad der Datei und den Zeitpunkt der letzten Änderung der Datei. In der folgenden Abbildung sehen Sie eine Demo
quelle