如果你在 mac 上工作,那么一点苹果脚本就可以完成这项工作。
将此功能放在您的 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
或者:call ToggleAutoReload()
在保存文件时启用自动重新加载,:call ToggleAutoReload()
完成后第二个将禁用它。