我写了一个可以重新加载Safari的.applescript文件.我试图将它的执行挂钩到vim的BufWritePost事件中(因此Safari自动重载文件保存).
我把它放在我的.vimrc中:
function! SaveAndReloadSafari(delay)
" THIS IS WHERE MY PROBLEM IS>>>>>>>>>>>>>>>
!osascript ~/MySrc/applescript/reloadSafari.APPLESCRIPT a:delay
endfunction
if !exists("b:my_autocommands_loaded")
let b:matts_autocommands_loaded = 1
au BufWritePost *.html,*\.css,*.js call SaveAndReloadSafari(0)
au BufWritePost *.scss call SaveAndReloadSafari(2)
endif
Run Code Online (Sandbox Code Playgroud)
如您所见,我想在保存.scss文件后添加2秒延迟(以允许我的SCSS文件自动编译为CSS)
我已经确认缺少的唯一一个难题是我使用shell命令插入a:delay的语法.(执行没有delay参数的命令可以正常工作).
我的语法有什么问题?
您可以使用 :exec
exec '!osascript ~/MySrc/applescript/reloadSafari.APPLESCRIPT ' . a:delay
Run Code Online (Sandbox Code Playgroud)