1231 Stimmen

Wie man effektiv mit mehreren Dateien in Vim arbeitet

Ich habe begonnen, Vim für die Entwicklung von Perl-Skripten zu benutzen und finde es sehr leistungsfähig.

Eine Sache, die ich mag, ist die Möglichkeit, mehrere Dateien gleichzeitig zu öffnen:

vi main.pl maintenance.pl

und hüpfen Sie dann mit zwischen ihnen hin und her:

:n
:prev

und sehen Sie, welche Datei mit geöffnet ist:

:args

Und um eine Datei hinzuzufügen, kann ich sagen:

:n test.pl

die dann meiner Dateiliste hinzugefügt werden sollte, aber stattdessen wird meine aktuelle Dateiliste gelöscht, und wenn ich :args Ich habe nur test.pl offen.

Wie kann ich also Dateien in meiner Args-Liste hinzufügen und entfernen?

1290voto

fijter Punkte 17127

Warum nicht Tabs verwenden (eingeführt in Vim 7)? Sie können zwischen Tabs umschalten mit :tabn y :tabp , Mit :tabe <filepath> können Sie eine neue Registerkarte hinzufügen; und mit einer normalen :q o :wq Sie eine Registerkarte schließen. Wenn Sie eine Karte :tabn y :tabp zu Ihrem F7 / F8 Tasten können Sie leicht zwischen den Dateien wechseln.

Wenn es nicht so viele Dateien sind oder Sie Vim 7 nicht haben, können Sie Ihren Bildschirm auch in mehrere Dateien aufteilen: :sp <filepath> . Dann können Sie zwischen Splitscreens umschalten mit Ctrl + W und dann eine Pfeiltaste in die Richtung, in die Sie sich bewegen möchten (oder anstelle der Pfeiltasten, w für nächste und W für vorherigen Splitscreen)

610voto

Auflistung

Um eine Liste der aktuellen Puffer zu sehen, verwende ich:

:ls

Eröffnung

Um eine neue Datei zu öffnen, verwende ich

:e ../myFile.pl

mit erweiterter Tabulatorvervollständigung (setzen Sie set wildmenu in Ihrem .vimrc ).

Hinweis: Sie können auch Folgendes verwenden :find das eine Reihe von Pfaden für Sie durchsucht, aber Sie müssen diese Pfade zuerst anpassen.


Umschalten

Um zwischen allen geöffneten Dateien zu wechseln, verwende ich

:b myfile

mit verbesserter Tabulatorvervollständigung (noch set wildmenu ).

Anmerkung: :b# wählt die zuletzt besuchte Datei aus, so dass Sie damit schnell zwischen zwei Dateien wechseln können.


Verwendung von Windows

Ctrl-W s y Ctrl-W v um das aktuelle Fenster horizontal und vertikal zu teilen. Sie können auch die Funktion :split y :vertical split ( :sp y :vs )

Ctrl-W w um zwischen geöffneten Fenstern zu wechseln, und Ctrl-W h (oder j o k o l ), um durch geöffnete Fenster zu navigieren.

Ctrl-W c um das aktuelle Fenster zu schließen, und Ctrl-W o um alle Fenster außer dem aktuellen zu schließen.

Starten von vim mit einem -o o -O Flagge öffnet jede Datei in einem eigenen Split.


Mit all dem brauche ich keine Tabs in Vim, und meine Finger finden meine Puffer, nicht meine Augen.

Anmerkung: Wenn Sie wollen, dass alle Dateien zur gleichen Instanz von Vim gehen, starten Sie Vim mit dem --remote-silent Option.

253voto

shyam Punkte 8656
:ls

für die Liste der offenen Puffer

  • :bp vorheriger Puffer
  • :bn nächster Puffer
  • :bn ( n eine Zahl) in den n-ten Puffer verschieben
  • :b <filename-part> mit Tabulatortaste zur automatischen Vervollständigung (genial!!)

In einigen Versionen von vim, bn y bp sind eigentlich bnext y bprevious beziehungsweise. Die automatische Vervollständigung von Tabulatoren ist in diesem Fall hilfreich.

Oder wenn Sie sich im normalen Modus befinden, verwenden Sie ^ um zur letzten Datei zu wechseln, an der Sie gearbeitet haben.

Außerdem können Sie Sitzungen von vim speichern

:mksession! ~/today.ses

Der obige Befehl speichert die aktuell geöffneten Dateipuffer und Einstellungen in ~/today.ses . Sie können diese Sitzung laden, indem Sie

vim -S ~/today.ses

Es ist nicht schwer, sich zu merken, wo man gestern aufgehört hat ;)

123voto

MarkB Punkte 4837

Zur Ergänzung der args Liste:

:argadd

Zum Löschen aus dem args Liste:

:argdelete

In Ihrem Beispiel könnten Sie Folgendes verwenden :argedit test.pl, um die Datei test.pl in die args Liste und bearbeiten Sie die Datei in einem Schritt.

:help args bietet viel mehr Details und fortgeschrittene Nutzung

51voto

Andy Whitfield Punkte 2323

Ich verwende Pufferbefehle - :bn (nächster Puffer), :bp (vorheriger Puffer) :buffers (Liste offener Puffer) :b<n> (offener Puffer n) :bd (Puffer löschen). :e <filename> wird einfach in einen neuen Puffer geöffnet.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X