我写了一个可以重新加载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
如您所见,我想在保存.scss文件后添加2秒延迟(以允许我的SCSS文件自动编译为CSS)
我已经确认缺少的唯一一个难题是我使用shell命令插入a:delay的语法。 (执行没有delay
参数的命令可以正常工作。
我的语法有什么问题?
答案 0 :(得分:5)
您可以使用:exec
exec '!osascript ~/MySrc/applescript/reloadSafari.APPLESCRIPT ' . a:delay