回答:
Automatorアプリケーションを作成して、次のapplescriptを実行します。
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
オートマトンアプリケーションを保存します。(たとえば、名前を付けます Vim Launcher)
カスタムvimタイプファイル(拡張子として.vimを使用)を右クリック(またはControl キーを押しながらクリック)し、[ アプリケーションから開く... ]の下の[ その他 ]オプションを選択し、Automatorアプリケーション(例: Vim Launcherなど)。クリックして。
ブーム。
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
代わりにこのAppleScriptを使用します。Spacesを使用しているときに物事が奇妙に振る舞うのを防ぐために、実行後に(前ではなく!)Terminal.appを起動します。また、Vimの終了後にウィンドウを閉じます。クリーン終了後に終了するようにTerminal.appを設定するだけです。
Yosemiteで機能するために必要なコードの変更を含む承認済みの回答にコメントを追加したかったのですが、十分な評判がないためコメントを追加できなかったため、回答で返信しようとしました。
「Finderからターミナルでファイルを開く」スクリプトはMavericksで正常に機能していましたが、Yosemiteへのアップグレード後に機能しなくなりました。Yosemiteでは、受け入れられた回答のコードは初めて動作します-Finderの最初のファイルをダブルクリックすると正常に開きますが、後続のファイルをクリックすると、空白の新しいターミナルウィンドウが開きます(vim開かない)コマンドプロンプトで。
複数のサイトを通過した後、うまく機能するバージョンを一緒に作りました。私はそれを行うより良い方法があると確信していますが、Applescriptの経験はないので、改善を提案するために他の人に任せます。
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
して、Application
テンプレートを選択します。ではActions->Library
タブをクリックしUtilities
、その後、Run AppleScript
。