Ich habe meinen eigenen benutzerdefinierten vim-Dateityp mit Hervorhebung usw. definiert. Ich möchte ihn mit dem terminalbasierten vim öffnen, wenn ich darauf doppelklicke. Ich benutze Mac OS X. Gibt es Hinweise, wie Sie damit beginnen sollen?
Ich habe meinen eigenen benutzerdefinierten vim-Dateityp mit Hervorhebung usw. definiert. Ich möchte ihn mit dem terminalbasierten vim öffnen, wenn ich darauf doppelklicke. Ich benutze Mac OS X. Gibt es Hinweise, wie Sie damit beginnen sollen?
Antworten:
Erstellen Sie eine Automator-Anwendung, um das folgende Applescript auszuführen:
on run {input}
set the_path to POSIX path of input
set cmd to "vim " & quoted form of the_path
tell application "System Events" to set terminalIsRunning to exists application process "Terminal"
tell application "Terminal"
activate
if terminalIsRunning is true then
do script with command cmd
else
do script with command cmd in window 1
end if
end tell
end run
Speichern Sie die Automator-Anwendung. (zB nenne es Vim Launcher )
Klicken Sie mit der rechten Maustaste (oder bei gedrückter Ctrl-Taste ) auf Ihre benutzerdefinierte vim-Datei (z. B. .vim als Erweiterung verwenden) und wählen Sie unter Öffnen mit… die untere Option Andere… und suchen Sie Ihre Automator-Anwendung (z. B. Vim Launcher ). Klick es.
Boom.
set the_path to POSIX path of input
set cmd to "vim " & quoted form of the_path & "; exit"
tell application "System Events" to set terminalIsRunning to exists application process "Terminal"
tell application "Terminal"
if terminalIsRunning is true then
do script with command cmd
else
do script with command cmd in window 1
end if
activate
end tell
end run
Ich benutze stattdessen dieses AppleScript. Es aktiviert Terminal.app nach (nicht vor!) Der Ausführung, um zu verhindern, dass Dinge bei der Verwendung von Leerzeichen seltsam wirken. Es schließt auch das Fenster, nachdem Vim beendet wurde. Stellen Sie einfach Terminal.app so ein, dass es nach sauberen Exits geschlossen wird.
Ich wollte der akzeptierten Antwort nur einen Kommentar mit den Codeänderungen hinzufügen, die erforderlich sind, damit sie in Yosemite funktioniert. Da ich jedoch keinen ausreichenden Ruf habe, konnte ich keinen Kommentar hinzufügen und daher versuchen, über eine Antwort zu antworten.
Das Skript "Open File in Terminal from Finder" funktionierte in Mavericks einwandfrei, funktionierte jedoch nach dem Upgrade auf Yosemite nicht mehr. In Yosemite würde der Code in der akzeptierten Antwort nur beim ersten Mal funktionieren - das heißt, wenn ich auf die erste Datei im Finder doppelklicke, wird sie problemlos geöffnet. Wenn ich jedoch auf die nachfolgenden Dateien klicke, werden nur leere neue Terminalfenster geöffnet (vim öffnet sich nicht) mit Eingabeaufforderung.
Nachdem Sie mehrere Websites durchgesehen haben, haben Sie eine Version zusammengeschustert, die einwandfrei funktioniert. Ich bin mir sicher, dass es einen besseren Weg gibt, aber ich habe keine Erfahrung mit Applescript und überlasse es anderen, Verbesserungen vorzuschlagen.
on run {input}
set the_path to POSIX path of input
-- set cmd to "vim " & quoted form of the_path
-- we can do a change directory to make NerdTree happy
set cmd to "clear;cd `dirname " & the_path & "`;vim " & quoted form of the_path & "; exit"
tell application "System Events" to set terminalIsRunning to exists application process "Terminal"
tell application "Terminal"
if terminalIsRunning is true then
-- CHANGED code starts --
set newWnd to do script with command cmd
do script with command cmd in newWnd
-- CHANGED code ends --
else
do script with command cmd in window 1
end if
activate
end tell
end run
New Document
und dieApplication
Vorlage auswählen .Actions->Library
Klicken SieUtilities
dann auf der Registerkarte aufRun AppleScript
.