我已经开始使用Vim(v8)并为css3配备了适当的语法高亮显示器。我正在使用名为precss的postcss插件在我的代码中提供类似语法的“SASS”。
但是,当我使用带有“&:last-child”或&:first-child的嵌套选择器时,语法会抛出错误。它不会破坏代码或任何东西,但“红色”错误让我分心。检查下面的屏幕截图。
任何人都可以弄清楚如何使这个错误去?我使用了一个名为vim-css3-syntax的插件,它包含scss语法高亮显示。
修改:通过下载https://github.com/cakebaker/scss-syntax.vim然后添加au BufRead,BufNewFile *.css set filetype=scss.css
提前致谢。
答案 0 :(得分:0)
您在CSS中使用SCSS语法(嵌套块,&
等)会使您的CSS无效。
如果您想避免语法错误,您有两条路径:
我认为第一条路是最明智的。毕竟谁在*.rb
文件中编写JavaScript或在*.css
文件中编写SCSS?但如果你选择第二个,你可以做到:
setf scss
---编辑---
假设我们有这段代码:
body {
background-color: white;
}
它是有效的CSS 和有效的SCSS,因为SCSS是CSS的超集。任何有效的CSS都是自动有效的SCSS。无论文件扩展名为*.css
,*.scss
)和文件类型(css
,scss
),Vim都会愉快地显示它而不会出现任何错误。
现在,假设我们有这个代码:
body {
h1 {
background-color: $brand-1;
}
}
它是有效的SCSS但不是有效的CSS。如果您使用*.css
文件类型在css
文件中编写该代码,则会出现错误,因为它不是CSS。如果您使用*.scss
文件类型在scss
文件中编写该代码,则不会因为它的有效SCSS而导致错误。