Ist es möglich, mit Vim an Applescript-Dateien zu arbeiten, anstatt mit dem Standardprogramm Automator oder Script Editor? Ich habe im Internet gesucht und konnte nirgendwo dieselbe Frage oder Antwort finden. Ich habe die Datei unter Bibliothek > Dienste gefunden, aber es scheint, dass sie in einem Format vorliegt, mit dem sich Vim nur schwer arbeiten lässt.
Im Grunde möchte ich mein Applescript wie jeden anderen Code verwalten, der in einem gemeinsamen Repo liegt, Vim zum Bearbeiten verwenden, es als Teil meines Git-Workflows verwalten und die Datei von einem beliebigen Speicherort aus ausführen. Ich recherchiere noch zu diesen anderen Teilen, bin aber neugierig, ob jemand etwas Ähnliches gemacht hat?
Anscheinend kann ich kein Beispiel einfügen, aber grundsätzlich wird das Protokoll „Hallo“, das ich in die Skript-Editor-Datei eingebe, beim Öffnen mit Vim unlesbar.
Antwort1
Was passiert, ist, dass der Skripteditor Skripte standardmäßig in einem kompilierten Format speichert (beachten Sie die Erweiterung „.scpt“), das, wie Sie festgestellt haben, nicht für Menschen lesbar ist. Um sie als einfachen Text zu speichern, ändern Sie das Popup „Dateiformat“ beim Speichern in „Text“ – die Erweiterung sollte sich in „.applescript“ ändern.
Angesichts der anderen von Ihnen genannten Anforderungen ist es wahrscheinlich am besten, sie als einfachen Text zu belassen – die meisten Dinge, die Skripts ausführen, können gleichermaßen gut mit „.scpt“- und „.applescript“-Dateien umgehen.
Wenn Sie die Datei aus irgendeinem Grund in kompilierter Form haben möchten/müssen, ist es immer noch möglich, sie in vim zu bearbeiten. Sie müssen einige automatische Befehle hinzufügen, um das Skript beim Öffnen zu dekompilieren und es beim Speichern neu zu kompilieren. Es sollte ähnlich sein wie beschriebenHier%!osadecompile %
, außer dass die Befehle (glaube ich) und wären %!osacompile -o %
.
Die Filter „Clean“ und „Smudge“ von Git ermöglichen eine ähnliche Technik: Die Datei wird im Repository als Text gespeichert, sodass sie kohärent verglichen werden kann, aber die Datei in Ihrem Arbeitsbaum ist die binär kompilierte Form.