AppleScriptでVimの保存時のファイル更新を取得してブラウザを更新する
概要
Vimでファイルを保存した時にファイルをブラウザで開いている場合(HTMLを書いている場合など)、いちいちブラウザにフォーカスを当てて、ブラウザ再読み込みを行うのは面倒くさいので、
- ブラウザにフォーカスを当てる
command + r
イベントを発行- フォーカスをターミナルに戻す
の動作を自動化する
Vimで使用するコマンドを実装する
/Users/daiki/.vim/plugin
にchrome.vim
を配置- ディレクトリがない場合は作成する
- 以下のコードを
chrome.vim
に書き込んで保存
chrome.vim
1 |
|
ブラウザにフォーカスを当ててリロードするコマンドを実装
/Users/daiki/bin
にchrome_reload.scpt
を配置- ディレクトリがない場合は作成する
- 以下のコードを
chrome_reload.scpt
に書き込んで保存
カスタマイズ
- 1行目:
tell application "safari" to activate
のsafari
の部分を別のブラウザの名前に変更すると開くブラウザを変更できる
chrome_reload.scpt
1 |
|
ターミナルにフォーカスを戻すコマンド
/Users/daiki/bin
にterminal_focus.scpt
を配置- ディレクトリがない場合は作成する
- 以下のコードを
terminal_focus.scpt
に書き込んで保存
カスタマイズ
"Terminal"
の部分を書き換えると別アプリにフォーカスを当てられる
terminal_focus.scpt
1 |
|
Vimで使用するには
vimを開いて、ブラウザで更新したいファイルに対して以下のコマンドを打つ
:ChromeReload
:1回ブラウザをリロードする:ChromeStartObserve
:Vimで保存するたびにブラウザをリロードする:ChromeStopObserve
:ChromeStartObserve
の保存時の自動リロードを停止する
参考
AppleScriptでVimの保存時のファイル更新を取得してブラウザを更新する
https://blog.djima.net/2021/02/21/AppleScriptでVimの保存時のファイル更新を取得してブラウザを更新する/