使用 vimscript (vimrc) 自动编译 Sass\Scss

Autocompiling Sass\Scss using vimscript (vimrc)

我想要:在保存时自动将 sass/scss 个文件自动编译为 .css。

我做了什么:

init.vim (vimrc):

autocmd bufwritepost *.sass,*.scss  silent exec "!sass %:p %:r.css"

它工作正常,但是当我想更改一些模块时:_module.sass,显然,命令执行并且我有不必要的编译 _module.css 在我的项目文件夹中(不需要,因为我已经将它包含在 main.sass 中,我不需要它单独编译)。

可能的解决方案是添加一些 if 语句,该语句将使用正则表达式检查文件名是否以“_”符号开头,但我不知道如何实现这个逻辑。

如果您只希望 autocmd 在文件名不以下划线开头时触发,您可以使用

autocmd bufwritepost [^_]*.sass,[^_]*.scss  silent exec "!sass %:p %:r.css"

您可以使用 vim 的内置帮助阅读 autocmd 模式的所有规则:

:h autocmd-pattern