AppleScriptで特定のキーを送る方法と引数を渡す方法

Brogramming with Tom
インデントの最終テストも兼ねて。

photo credit: ryanoshea via photopin cc

AppleScriptでは、以下のように引数を渡すことができます。

on run argv
    return item 1 of argv
end run


$ osascript sample.scpt hello,world



ただし、最も簡単な方法はシェルスクリプトで書くことです。

#!/bin/sh
 
echo "
tell application \"Google Chrome\"
  activate
  tell application \"System Events\"
    delay 0.5
    keystroke \"$1\"
  end tell
end tell
" | osascript -



上記は、Chromeで特定のキーを送るシェルスクリプトです。例えば、 fを送ってみましょう。


$ chrome_key.sh f






Vimでコマンド定義する場合は、以下の様な感じになります。

command! -nargs=1 -bar ChromeKey silent !chrome_key.sh <args>


ちなみに、-nargsは、引数の数。 <args>は、引数自体を表現します。


:ChromeKey f