2017-11-10 4 views
1

Ich fand sehr nützliche Informationen über Stackoverflow, wie Batch-Bearbeitung mit Vim. Allerdings habe ich Probleme, wenn ich das für mehrere Dateien machen möchte. Es führt den ersten Befehl ordnungsgemäß aus und stoppt dann. Hier ein Beispiel:Mit Windows-Batch-Datei bearbeiten Dateien mit Vim

vim mtc04.f90 +"1,$s/mtc03/mtc04/g" +"wq" 
vim mtc04.flo +"1,$s/mtc03/mtc04/g" +"wq" 

Die Idee ist, „mtc03“ durch „mtc04“ in einer ganzen Reihe von Dateien zu ersetzen, aber nach dem ersten Befehl ausführt sie stoppt. Wie kann ich es weiter machen? Ich denke, das ist nur eine grundlegende Frage über Windows-Befehlsdateien und nicht eine vim-Frage, aber ich kenne die Antwort nicht und konnte sie nicht finden.

+2

ist 'eine Batch-Datei vim'? Dann [Anruf] (https://ss64.com/nt/call.html) es. Wenn das nicht funktioniert, [start] (https://ss64.com/nt/start.html). – Stephan

+0

'vim' ist ein Third-Part-Tool, das die Zeile unix/Linux vim anwendet. Sie sollten es nur anrufen und darauf warten, dass es abgeschlossen wird, und dann den nächsten Anruf tätigen. –

Antwort

1

vim ist eine Windows-Version des Unix vim Editor.

Sie müssen es vorzugsweise aufrufen, lassen Sie das Batch warten, bis es abgeschlossen ist, bevor es die nächste Bearbeitung startet.

call vim mtc04.f90 +"1,$s/mtc03/mtc04/g" +"wq" 
call vim mtc04.flo +"1,$s/mtc03/mtc04/g" +"wq" 
0

Wenn alle Dateien mit dem gleichen Basisnamen haben, können Sie wie folgt vorgehen:

vim mtc04.* +"bufdo! %s/mtc03/mtc04/g" +":wqall"