2010-06-20 16 views
5

Angenommen, Sie möchten alle Dateien im Checkout-Ordner im Unterverzeichnis/trunk öffnen. Angenommen, die Dateien heißen first.c second.r third.cpp. Wie können Sie alle Dateien in vim mit einem einzigen Befehl öffnen?Alle Dateien in einem Ordner öffnen

Die offensichtliche Antwort ist die folgende

$ vim first.c second.r third.cpp 

Aber können Sie tun dies einfach mehr?

Antwort

10

Klingt wie du bist auf Linux oder eine Unix-Variante. das Sternchen Mit bekommt man alle Dateien im aktuellen Ordner:

$ vim * 
+1

stackoverflow ist wirklich ein Wunder in der modernen Ära. Ihre Lösung ist einfach, leicht zu merken und funktioniert. – Milktrader

+5

@Milktrader, Sie erkennen, es ist eine Shell-Sache und kein Vim-Ding, oder? Wie kopierst du _all_ die Dateien in einem Ordner? 'CP */einige/andere/Ort'. Wie löschst du _all_ die Dateien in einem Ordner? 'rm *' usw. –

+5

Dies öffnet standardmäßig keine Punktdateien. Für alle Dateien benötigen Sie '{,.} *' (In bash vorausgesetzt, dass mindestens eine Datei existiert, die mit einem Punkt beginnt) oder '(|.) *' (In zsh, funktioniert auch wenn keine Dot-Dateien vorhanden sind) . – ZyX

10

Um alle Dateien im aktuellen Ordner, die Verwendung zu bearbeiten:

vim * 

alle Dateien in Tabs zu bearbeiten, zu verwenden:

vim -p * 

Um alle Dateien in horizontal geteiltes Fenster zu bearbeiten, verwenden:

vim -o * 
+1

vim -p * hat die Arbeit für mich erledigt –

0

Die anderen Antworten funktionieren nicht, wenn Sie Unterverzeichnisse haben. Wenn Sie alle Dateien in allen Unterverzeichnissen öffnen möchten, können Sie command substitution verwenden:

vim `find . -type f` 

Wenn Sie Dateien in einem Unterverzeichnis Schreib ignorieren wollen:

vim `find . -type f -depth 1` 

können Sie, natürlich, erhalten so schick wie Sie wollen mit dem find Befehl.

Verwandte Themen