Mac + Vim で ブラウザ を自動リロード

お久しぶりです。tell-k です。昔書いたエントリで、ブラウザをリロードするAutoHotKeyを紹介したのですが、

AutoHotKeyすげぇ! - Study03.net 対シンバシ専用

残念ながらAutoHotKeyMacでは使えません。FirefoxプラグインのMozReplという手もあったのですがプラギンをインストールするのが面倒なのと、最近Chromeをメインで使ってるのでなんかアレなので、別の方法を模索しました。

そこで、見つけたのが下記の二つの記事です。

vim でファイルを保存した時にChrome で開いているページをリロードするのはAppleScript で十分でした - LukeSilvia’s diary
Vim でファイルを保存すると Firefox がリロード OSX 版 - cooldaemonの備忘録

なんと、AppleScriptでブラウザをリロードできるじゃないですか。Firefoxでもcmd+r を投げる事でリロードできると。すばらしい。というわけで、vim プラグイン化しますた。もちろんMacでしか動きまへん。

GitHub - tell-k/vim-browsereload-mac: vimplugin. scripts to reflesh your browser. works only MacOS

インストールは install.shを用意してあるのでそれを適当に叩いてください。

ついカッとなってやった。反省はしてない。

簡単な説明

READMEにコマンドが書いてあるので簡単に説明すると、vimでファイルを開いて 

:ChromeReload 

て打つとGoogleChromeがリロードされます。

:ChromeReloadStart 

と打つと、バッファを保存「:w」したタイミングでChromeを自動リロードしてくれます。
うざくなったら、

:ChromeReloadStop 

として自動リロードモードを止めてください。こんなコマンドが、Firefox, Safari, Opera用に用意されています。

そんなケースは、ほぼ。。いや間違いなくないとは思いますが、全部のブラウザ(Chrome, Firefox, Safari, Opera)を一気にリロードしたくなったら、

:AllBrowserReload 

と打ってくださいw なんで作ったし俺

あと@podhmo 先輩に言われたヤツで、デフォルトではリロードした後にアクティブになるウィンドウはTerminalアプリなんですが、それをそのままブラウザをアクティブな状態にしたい場合には、

let g:returnAppFlag = 0

このグローバル変数を0にセットしてください。デフォは1がセットされています。

Terminal.appを前提に書いていますが、そもそも俺ターミナルじゃねーしという人は

let g:returnApp = "Terminal"

この辺の設定をお使いのアプリ名で書き換えてください。

謝辞

id:LukeSilvia さん, id:cooldaemon さん。 助かりました。ありがとうございますm( _ _ )m