Mac + Vim で ブラウザ を自動リロード
お久しぶりです。tell-k です。昔書いたエントリで、ブラウザをリロードするAutoHotKeyを紹介したのですが、
AutoHotKeyすげぇ! - Study03.net 対シンバシ専用
残念ながらAutoHotKeyはMacでは使えません。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