Ich denke, es hängt davon ab, wo die meisten Dateiverarbeitung und Entscheidungsfindung stattfindet, und von den Skriptfunktionen, die Ihnen außerhalb von Vim zur Verfügung stehen. Da der Großteil der Verarbeitung, die Sie durchführen, scheinbar eine Folge von Programmen ausführt, möglicherweise in einer Pipeline, würde ich gerne alles in ein Shell-Skript oder eine Batch-Datei packen und von Vim aus starten. (Sie haben geschrieben, dass Sie sed verwenden. Haben Sie auch Zugriff auf eine Unix-Shell?) Wenn Sie keinen Zugriff auf eine Unix-Shell haben und sich der Befehlssatz für die Batch-Datei als eingeschränkt erweist, könnten Sie alle Befehle verwenden in eine Vim-Funktion. Durch das Einfügen der Befehle in eine Vim-Funktion erhalten Sie ein wenig mehr Flexibilität und eine einfachere Programmierung, als zu versuchen, alles für einen Vim-Befehl oder ein Mapping genau zu zitieren.
Sie können Shell-Befehle so einfach in Funktionen einfügen
function Foo() !echo "hello" endfunction
oder dieses:
function Bar() call system('echo "hello"') endfunction
Sehen
:help usr_41.txt
und speziell
:help 41.6 :help 41.7
ebenso gut wie
:help system()
mehr dazu. Weitere Informationen zu Befehlen und Zuordnungen finden Sie unter
:help usr_40.txt
Sie können einen Befehl zum Aufrufen Ihrer Funktion wie folgt schreiben:
:command Foo call Foo()
damit Sie Ihre Funktion mit ausführen können
:Foo