vim scriptからAppleScriptを呼び出す方法

たとえば

tell application "Finder"
    display dialog "こんにちわ!!"
end tell

こんなAppleScriptだった場合、これをvim scriptから呼び出すなら以下のようになります。

function! AppleScriptTest()
    let script = "!osascript "
    let script = script . " -e 'tell application \"Finder\"'"
    let script = script . " -e '    display dialog \"こんにちわ!!\"'"
    let script = script . " -e 'end tell'"
    execute script
endfunction

1行ごと-eで書いてやるのがポイントです。



そして、その方法を使ってこんなスクリプトを作ってみました。

fifnel/ofaddinbox.vim - GitHub
https://github.com/fifnel/ofaddinbox.vim

vimからOmniFocusへタスク登録ができます。

この方法を使うと、vimとその他いろいろなアプリが連携できておもしろいですね。
まぁMacOSX限定になっちゃいますけど・・・