Senden von Befehlen von TextWrangler (BBEdit) an das Terminal

Ich möchte Befehle von TextWrangler (oder BBEdit) an das Terminal senden. Selbst wenn ich das gefunden habe , verstehe ich nicht, wie das funktioniert, da ich ganz neu bei Unix bin und Applescripts ausführe.

tell application "BBEdit"
    set the_selection to (selection of front window as string)
    if (the_selection) is "" then
        set the_selection to line (get startLine of selection) of front window as string
    end if
end tell

tell application "Terminal"
    do script with command the_selection in window 1
end tell

Ich habe ein Applescript gespeichert, das so aussieht:Geben Sie hier die Bildbeschreibung ein

Nun, was ich denke, ist, das Skript in den TextWrangler-Skriptordner zu legen:Geben Sie hier die Bildbeschreibung ein

  1. Aber wie sende ich dann Befehle an die Terminal.app?
  2. Wie kann ich cmd + Enter drücken, um eine Zeile von TextWrangler an das Terminal zu senden?
Ich möchte meine Datei Zeile für Zeile ausführen. Wenn ich alles aufzeichnen möchte, was ich tue, um verschiedene Funktionen zu testen, ohne das gesamte Skript auszuführen

Antworten (2)

Sie müssen das Skript in dem "/Users/yourName/Library/Application Support/TextWrangler/Scripts"Ordner ablegen

Nachdem:

  • Öffnen Sie die Einstellungen des TextWranglers
  • Wählen Sie "Menüs & Verknüpfungen" --> "Skripte" --> "Ihr Skript", um Ihre Verknüpfung zum Skript hinzuzufügen
  • TextWrangler akzeptiert die Tasten (cmd + enter) als AbkürzungGeben Sie hier die Bildbeschreibung ein
Das ist genau das, was ich brauchte! Ich schätze, wir können die Autovervollständigung jetzt irgendwie verwenden ... Ich werde es herausfinden. Vielen Dank!
@jackjr300, in welcher Anwendung haben Sie dieses Einstellungsbild verarbeitet, um die Pfeile hinzuzufügen, insbesondere den gebogenen Pfeil?
@user3439894, ich verwende die PreviewAnwendung auf El Capitan , Menü " Extras " --> " Anmerken " --> " Pfeil ". Ziehen Sie dann einen der blauen Griffe, um den Pfeil zu verschieben oder seine Größe zu ändern, ziehen Sie den grünen Griff, um eine Kurve zu erstellen. Sie können den Formstil ändern, Sie können Text am Anfang oder am Ende des Pfeils hinzufügen. - -
@jackjr300, danke für die Info zur Bildanmerkung. Vielen Dank auch für den Tipp zum Zuweisen der Befehlseingabe aus den TextWrangler-Einstellungen. Ich hatte versucht, in den Systemeinstellungen von Apple > Tastatur > Tastaturkürzel > Anwendungsverknüpfungen und unter OS X 10.8.5 die Eingabetaste für den Skriptmenübefehl in TextWrangler zuzuweisen, aber es funktioniert nicht. Es löscht, was ausgewählt ist, und fügt einen Zeilenumbruch ein, was natürlich den Zweck verfehlt. Wenn Sie dies jedoch über die TextWrangler-Einstellungen tun, funktioniert es. Also danke für alles. +1

Um ein AppleScript - Skript im Skript-Menü von TextWrangler zu verwenden, muss es (oder ein Link darauf) im Skript-Ordner von TextWrangler unter ~/Library/Application Support/TextWrangler/Scripts liegen , damit es im Menü erscheint. Hinweis: Das "~" in diesem Pfad ist Ihr Home-Ordner und der Bibliotheksordner ist möglicherweise nicht sichtbar. Sie können es über das Skript-Menü von TextWrangler, den Befehl „Skriptordner öffnen“ öffnen und das Skript platzieren oder auf das Skript verlinken, wo immer Sie es gespeichert haben.

Um diese Frage zu beantworten, habe ich ein AppleScript mit dem Namen Run Selected Line(s) in Terminal.scpt erstellt und im Script-Ordner von TextWrangler abgelegt und ist jetzt im Script-Menü in TextWrangle verfügbar, wie in der Abbildung unten gezeigt.

TW_Script_Menu.png

Das heißt, das Skript, das Sie haben, wie geschrieben, kann fehlschlagen, da Terminal etwas pingelig sein kann. Mit anderen Worten, wenn Terminal beim Ausführen des Skripts geschlossen ist, kann der geschriebene Code einen Fehler erzeugen, z. B.: „Ein Skriptfehler ist aufgetreten: Terminal hat einen Fehler: Fenster 1 kann nicht abgerufen werden.“

Selbst wenn Terminal aufgefordert wurde, es zu aktivieren, wurde kein Fenster geöffnet, wie es beim Öffnen von Terminal über die Dock-Kachel der Fall ist, die ich auf „Im Dock behalten“ eingestellt habe, und ich würde den oben genannten Fehler erhalten. Eine Google-Abfrage lieferte also viele nützliche Informationen. Also habe ich mit ein paar verschiedenen Lösungen experimentiert, die ich gesehen habe, und der Code , den ich verwende, ist unten gezeigt.


tell application "TextWrangler"
    activate
    set the_selection to (selection of front window as string)
    if (the_selection) is "" then
        set the_selection to line (get startLine of selection) of front window as string
    end if
end tell

tell application "Terminal"
    if not (exists window 1) then reopen
    activate
    -- delay 0.5
    do script with command the_selection in front window
end tell

Beachten Sie, dass ich den delay Befehl mit auskommentiert habe --und möglicherweise erforderlich ist oder nicht, je nachdem, ob Terminal anfänglich geschlossen ist und/oder wie langsam Ihr System reagiert. Der Wert wird in Sekunden dezimal ausgedrückt. Sie können die Kommentare entfernen und bei Bedarf ändern.

Bild des Codes mit syntaktischer Hervorhebung:

Code mit syntaktischer Hervorhebung

Hinweis: Dies wurde unter OS X 10.8.5 und TextWrangler v4.5.9 (3390) getestet und kann in anderen Versionen von OS X und/oder TextWrangler anders reagieren.