我在MacOSX上使用带有scrooloose/syntastic插件的Vim 7.4来编辑YAML文件。
我已将F11映射到:
:wa<CR>
我还将F12映射到:
:wa<CR>:xa<CR>
现在对我来说......因为F11会进行js-yaml检查并报告错误,所以F12也应该做同样的事情,因为映射几乎完全相同。
我的问题是,在js-yaml文件检查器返回任何错误之前,Vim将退出。我不知道如何等待js-yaml返回。
有什么建议吗?
在Vim我做了一个快速的“帮助暂停”→无济于事。
答案 0 :(得分:1)
简单的解决方案是将g:syntastic_check_on_wq
设置为1并将 F12 映射到:wqa<CR>
。
更复杂(但更平滑)的解决方案包括编写缓冲区,然后检查所有缓冲区是否存在合成错误。你需要一些VimL-fu。
另外,请注意,在同时检查多个文件时(在运行:wa
时执行此操作),合成效果不会很好。这与Vim API中的限制有关。