Gibt es eine Möglichkeit, alle Dateien in einem Verzeichnis in Vim zu öffnen? Also ein :command
, das in der Tat sagen würde "Öffnen Sie alle Dateien unter /some/path
in Puffer".
Im Idealfall wäre es großartig, alle Dateien unter einem Verzeichnis rekursiv zu öffnen.
**
diese Option , um Dateien rekursiv abzugleichen. ZB:args /path_to_dir/**
:tab all
, können Sie sie in einzelne Registerkarten einfügen."/path_to_dir/subdir/" Illegal file name
). Schnelle Lösung besteht darin, den zweiten Befehl auszuführenargd */
, um diese wieder aus der Liste zu entfernen:argdo source my_commands_batch.vim
Warum funktioniert es nicht, wenn ich alle Dateien öffnen möchte, die mit einer bestimmten Erweiterung enden? Ich habe es versucht
und öffnet nur die Dateien im aktuellen Verzeichnis.
Ich habe die Antwort gefunden. Der richtige Code ist
:n **/*.cs
Für mehr Informationen
:h find
quelle
Hast du versucht
Es werden alle Dateien in / some / path geöffnet
Ich glaube nicht, dass die Datei rekursiv geöffnet wird.
BEARBEITEN
Möglicherweise wird die Verwendung von ** rekursiv geöffnet, wie von daf erwähnt
quelle
Eine Methode, mit der Sie nicht herumspielen müssen,
args
besteht darin, die Liste der Dateien in eine Textdatei einzufügen und dann mit dem:so
Befehl die Befehle in dieser Datei auszuführen.Wenn Sie beispielsweise alle Dateien öffnen möchten, die
.php
in einem bestimmten Verzeichnis enden , erstellen Sie zunächst einefiles.txt
Liste mit Dateien, denen der Befehl vorangestellt ist, mit dem Sie sie öffnen möchten.Dann innerhalb von vim:
Wenn die Liste der Dateien groß ist, ist es relativ einfach, die
files.txt
Datei schnell zu generieren , indem Sie die Ausgabels
in eine Datei umleiten und dannsp
vor jedem Dateinamen ein vim-Makro voranstellen .Dies ist offensichtlich nicht so elegant wie die Verwendung der Befehle
args
undargdo
, aber diese Befehle sind auch viel komplizierter.Es könnte auch eine Möglichkeit geben, dies mit einem einzigen Befehl in der Befehlszeile zu tun, aber selbst nach 16 Jahren finde ich die Vim-Programmierung immer noch seltsam und geheimnisvoll.
quelle
Eine andere Möglichkeit, Dateien rekursiv zu öffnen
quelle
kate **/*(^/)
(unter Verwendung der zsh-Globbing-Syntax) das Notwendige getan wird: Dateien aus dem angegebenen Verzeichnis werden rekursiv geöffnet. Es ist nicht "von innen" und es verwendet überhaupt kein vim, aber es "tut noch, was benötigt wird". Oder sogarkate ~/.vimrc ~/.bashrc
. Weglassen von "from withing", "from the gegebenes Verzeichnis" und "rekursiv" insgesamt, aber es "tut noch, was benötigt wird": öffnet Dateien.Wenn Sie der Argumentliste hinzufügen möchten;
sehen
von / in vim für weitere Informationen.
quelle