Gehen Sie nach dem Öffnen der Datei in vim zum Zurückverfolgen des Verzeichnisses


120

Wenn ich ein Verzeichnis öffne, das in vim durchsucht wird, kann ich eine Datei öffnen, indem ich den Cursor auf einen Dateinamen bewege und drücke Enter.

Gibt es einen Befehl, um zum vorherigen Verzeichnis-Browsing zurückzukehren?

Wenn nicht, gibt es eine Möglichkeit, eine Datei zu öffnen, ohne den Verzeichnis-Browsing-Modus zu schließen?


2
Ich bin nicht sicher, aber wenn Sie wirklich bequemes Durchsuchen von Verzeichnissen wünschen, empfehle ich Ihnen, NERDTree
Johan Kotlinski

Antworten:


195

Sie können mit zum letzten Puffer zurückkehren :b#.

Wenn Sie gerade eine Datei geöffnet haben, kehren Sie zum Durchsuchen des Verzeichnisses zurück.

Update : Da diese Antwort zufällig als die richtige Antwort akzeptiert wurde und daher ganz oben steht, möchte ich die Antworten ein wenig zusammenfassen, einschließlich der von @romainl, dass imho die richtige ist.


3
Das sollte sein :b#. Ich würde das Problem beheben, aber Änderungen an einzelnen Zeichen funktionieren nicht.
Echristopherson

Wenn ich dies tue vim <dirname>und dann zur Datei navigiere und drücke Enter, funktioniert es nicht. Wenn ich vim öffne, dann :e <dirname>wähle Datei und Enteres funktioniert. In beiden Fällen :bufferswird nur ein Puffer angezeigt. Ich bin mir nicht sicher, warum es so ist.
mcmlxxxvi

@mcmlxxxvi laut vim Wiki b#funktioniert nur für "zuvor bearbeitete Puffer": vim.wikia.com/wiki/…
ezdazuzena

3
Schöne Sache, die alle anderen richtigen Antworten zusammenfasst. Ich wünsche mir, dass mehr Leute das tun.
LightMan

1
@veich Danke für deinen Kommentar, aber das werde ich vorerst nicht tun, da es bei der Frage nur darum geht, rückwärts zu gehen. Dies ist keine Wiki-Seite, ich fasse der Klarheit halber nur die anderen Fragen zusammen. Hoffe du verstehst das.
Ezdazuzena

88

Sie können Ctrl- verwenden O, um zum vorherigen Puffer zurückzukehren.


2
Im Allgemeinen sehr nützlich (z. B. zum Zurücknavigieren von gf), aber wenn ich Verzeichnisse erkunde, komme ich nicht zu der "Zeile" zurück, in der ich mich beim Öffnen der Datei befand. :Rex<Enter>, was etwas ungeschickt ist (5 Tastenanschläge gegen 1), macht es. Wahrscheinlich ist dies ein Kandidat für die Kartierung ...
Tomasz Gandor

33

Der richtige Befehl zum Zurückkehren zur Netrw-Liste lautet :Rex[plore]. Sie können es auch ausführen, nachdem Sie zu und von Dutzenden von Dateien gesprungen sind.


Wenn Sie eine Datei nach dem Verlassen der Netrw-Liste bearbeiten, unterscheidet sich die Rückkehr mit :Rexploreeiner anderen als der Rückkehr mit :Explore?
Jasha

Um meine eigene Frage zu beantworten, :Rexplorekehren Sie anscheinend immer zu derselben Netrw-Liste zurück, die Sie zuvor durchsucht haben, während :Exploredie Liste für das Verzeichnis der aktuell geöffneten Datei angezeigt wird.
Jasha

29

:Ex bringt Sie zurück (und zeigt Ihnen, was Sie bearbeitet und nicht gespeichert haben).


1
Ich habe JEDE der Antworten positiv bewertet. Sie waren alle nützlich
Javadba

Schön, es ist ein bisschen besser, als Ctrl-Oweil es das übergeordnete Verzeichnis ( ..) anstelle der obersten Zeile (einige Netrw-Header) hervorhebt, aber es ist immer noch nicht der Ort, an dem ich den Explorer (die geöffnete Datei) verlassen habe. 4 Tastenanschläge gegen 1, einige Einsparungen von js, um zu meinem Standort zu navigieren, aber ich werde wahrscheinlich trotzdem eine Karte erstellen, :Rex<Enter>wenn ich viel Navigation erwarte.
Tomasz Gandor

26

Ich verlasse mich auf Strg ^, um zwischen zwei Puffern hin und her zu gehen.


1
Dies funktionierte für mich mit vim 7.3 unter OSX von Homebrew. Strg-O scheint nicht zu funktionieren.
Gardner Bickford

5
Sie brauchen nicht einmal Schicht, können nur Strg 6
mVChr

richtiger, dies "bearbeitet die alternative Datei": vimdoc.sourceforge.net/htmldoc/editing.html#CTRL- ^
ezdazuzena

Ausgezeichnet! Es funktioniert zwar nur hin und her (wie ein "1 Level Undo"), aber es kehrt tatsächlich zu der Zeile zurück, in der ich war! Sieht so aus, als würde ich doch nicht abbilden :Rex<CR>! (Natürlich nur, wenn ich mich nicht darauf freue, von verschachtelten Navigationen "zurückzukehren" (zu einer anderen Datei gesprungen usw.).
Tomasz Gandor

14

Ich benutze normalerweise nur :E. Es ist leicht zu merken und bringt Sie zurück zum Verzeichnis der geöffneten Datei.


2
Ich bin überrascht, dass dies zu wenige Stimmen hat. Es ist definitiv eine Antwort.
TaoPR

1
Seien Sie nicht überrascht - auf meinem aktuellen vim ist 7.4.x :Emehrdeutig und macht nichts. Sie müssen mindestens eingeben :E<CR>.
Tomasz Gandor

1
Dies ist derselbe wie :Exoder :Explorerwenn kein anderer Befehl Edefiniert ist, der mit beginnt . Siehe zum Beispiel stackoverflow.com/a/14367507/1141095
ezdazuzena
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.