あなたがマックで働いているなら、少しのアップルスクリプトがその仕事をします。
この関数をvim構成に入れると、ウィンドウを切り替えて説明した内容を更新するプロセスを自動化できます。
function! ReloadBrowser()
silent exe "!osascript -e 'tell app \"Firefox\" to activate\<cr>
\tell app \"System events\"\<cr> keystroke \"r\" using command down\<cr>
\end tell'"
silent exe "!osascript -e 'tell app \"Iterm2\" to activate'"
endfunction
その関数を呼び出すと、システムフォーカスがFirefoxに変更され、CMD-Rを押してページを更新してから、フォーカスをIterm2に戻します。
ワークフローに合わせて「Firefox」と「Iterm2」を変更します。
次のようにvimコマンドプロンプトに関数を入力する:call ReloadBrowser()
か、次のようなマッピングを使用して呼び出しをトリガーできます。
nnoremap <leader>rl call ReloadBrowser()<cr>
ファイルを書き込むたびに呼び出しをトリガーするには、自動コマンドを使用できます。
augroup AutoReload
au!
autocmd BufWritePost *.filetype call ReloadBrowser()
augroup END
それは少し面倒になるかもしれませんが、本当にその動作が必要な場合は、次のように切り替え可能にするのが最善だと思います。
let s:auto_reload = v:false
function! ToggleAutoReload()
if s:auto_reload
augroup AutoReload
au!
autocmd BufWritePost *.filetype call ReloadBrowser()
augroup END
else
augroup AutoReload
au!
augroup END
endif
let s:auto_reload = !s:auto_reload
endfunction
これが適切な場所にあると、でリロードを手動でトリガーするか、ファイルを保存するときに自動リロードを有効にするために<leader>rl
使用でき、完了したら1秒で無効になります。:call ToggleAutoReload()
:call ToggleAutoReload()