Führen Sie Shell-Befehle für die aktuelle Datei basierend auf der Dateierweiterung aus

8

Ich arbeite derzeit viel mit Ruby und JavaScript. Ich weiß, dass ich meine Ruby-Dateien mit :! ruby %und ebenso mein JavaScript mit ausführen kann :! node %und dass ich beide daran binden kann, z ,b. Wie kann ich Dinge so einrichten, dass ich nur einen einzelnen Befehl binden kann, der die Erweiterung der Datei überprüft, die ich bearbeite, und den entsprechenden Befehl ausführe?

Tom
quelle

Antworten:

10

Sie könnten dafür verwenden :make; Sie können einen makeprgbeliebigen Befehl einstellen (kurz für make program).

Einige Beispiele:

au FileType ruby set makeprg=ruby\ %
au FileType javascript set makeprg=node\ %
au FileType python set makeprg=python\ %
au FileType coffeescript set makeprg=coffee\ -c\ %

noremap ,b :make<CR>

:makewar ursprünglich dazu gedacht, das makeTool zum Erstellen des Projekts auszuführen , aber Sprachen wie Ruby oder Javascript müssen nicht kompiliert werden. Es ist sinnvoll, es auf etwas zu setzen, das den Code ausführt.

Martin Tournoij
quelle