Soweit ich weiß, ist der einzige eingebaute Weg, dies zu tun:
:args *.vim
:tab all
Zunächst :argswird die Argumentliste durch die ersetzt. In der Argumentliste werden die Dateien aufgelistet, mit denen Sie Vim geöffnet haben. Das vim file1 file2bedeutet, dass die Argumentliste file1und enthält file2.
Wir können dies zur Laufzeit ändern und Vim öffnet einen Puffer für jeden neuen Eintrag in der Argumentliste.
Siehe :help argument-listfür weitere Informationen.
Der :allBefehl öffnet ein Fenster für jeden Eintrag in der Argumentliste, der :tabBefehl führt einen Befehl aus und öffnet eine neue Registerkarte, wenn der angegebene Befehl ein neues Fenster öffnen würde.
Vorbehalte
Diese Methode weist einige Einschränkungen auf.
Erstens gibt es keine Überprüfung auf Duplikate, sodass Sie zwei oder mehr Registerkarten für denselben Puffer haben können.
Das größte Problem ist jedoch, dass alle Tabs durch die Argumentliste ersetzt werden. so dass Sie verloren alle vorhandenen Tabs.
Sie können diese leicht umgehen , indem Sie :argadd *.vimauf hinzufügen zu der Liste der Argumente, anstatt sie zu ersetzen; Befehle wie :editoder ändern :tabeditjedoch nicht die Argumentliste, und Sie verlieren diese Registerkarten, wenn Sie sie nicht zur Argumentliste hinzufügen (Sie haben sie jedoch immer noch in der Pufferliste). Möglicherweise möchten Sie auch nicht alle Elemente in Ihrer Argumentliste auf einer Registerkarte öffnen. Vielleicht möchten Sie nur zwei Dateien als zusätzliche Registerkarte öffnen.
Sie könnten dies vielleicht etwas verbessern, indem Sie zuerst alle derzeit geöffneten Tabs zur Argumentliste hinzufügen (was ich nicht wirklich zur Arbeit bringen kann), aber das ist noch lange nicht perfekt. Wenn eine Registerkarte zwei oder mehr Fenster enthält, werden diese trotzdem geändert ...