ダブルクリックで iTerm2 上の Vim を開く

  • 11
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

普段、 iTerm2 上で Vim を使っているのですが、 Finder 上のファイルをちょっと編集するのにダブルクリックで Vim を開きたいと思ったので、AppleScript でランチャーアプリを作成しました。

Automator を開き、 AppleScript を選択して以下のコードを VimLauncher.app という名前で保存

2016/06/09 スクリプトを修正しました。

VimLauncher.app
on run argv

    set the_path to POSIX path of (item 1 of argv)
    set cmd to "vim " & escapeSpace(the_path)

    if isAppRunning("iTerm2") then

        tell application "iTerm"
            activate
            select last window
            tell current window
                set newtab to (create tab with default profile)
                tell newtab
                    tell current session
                        write text cmd
                    end tell
                    activate
                end tell
            end tell
        end tell
    else
        activate application "iTerm"
        tell application "iTerm"
            tell current window
                tell current session
                    write text cmd
                end tell
                activate
            end tell
        end tell
    end if

end run

on isAppRunning(appName)
    tell application "System Events" to (name of processes) contains appName
end isAppRunning

on escapeSpace(myText)
    set oldDel to AppleScript's text item delimiters
    set AppleScript's text item delimiters to " "
    set myText to every text item of myText
    set AppleScript's text item delimiters to "\\ "
    set myText to myText as string
    set AppleScript's text item delimiters to oldDel
    return myText
end escapeSpace

あとは、特定の拡張子のデフォルトアプリケーションを作成した VimLauncher.app に設定します。


このあたりを参考にさせていただきました。
* http://superuser.com/questions/139352/mac-os-x-how-to-open-vim-in-terminal-when-double-click-on-a-file
* https://gist.github.com/reyjrar/1769355
* http://www.kiwi-us.com/~mizusawa/penguin/html_hint/applescript/script_memo.html#Delimit