2012-08-14 48 views
1

我在我的Sass樣式表中使用Compass sprite @import語句,其中包括目錄中的所有PNG文件(@import 'place-detail-icons/*.png';)。問題在於Macvim將/*之後的所有內容視爲CSS註釋,因此它將其餘樣式表顯示爲註釋。當使用星號+斜線時Macvim CSS/Sass語法高亮顯示錯誤

我能夠通過將/**/放在@import語句下面的行來修復此問題,以便僞造Macvim。但是想知道是否有人找到了解決這個問題的非黑客方式。以下是更多的代碼選擇。

@import 'mixins/tabs'; 
@import 'mixins/timestamps'; 
@import 'mixins/triangles'; 
@import 'place-detail-icons/*.png'; 

    #modal .file-upload { 
    margin-bottom: 20px; 
    } 

    #details { 
    position: relative; 
    left: -160px; 
    width: 1280px; 
    min-height: 410px; 
    padding: 30px 0 50px; 
    border-top: 1px solid $white; 
    } 

回答

2

這是CSS語法文件的問題。如果您在:e $VIMRUNTIME/syntax/css.vim一下就行179你會看到這一點:

syn region cssInclude start="@import" end=";" contains=cssComment,cssURL,cssUnicodeEscape,cssMediaType 

如果除去從contains=它會解決它的cssComment;但是,不建議直接編輯內置語法文件,因爲升級vim時將會覆蓋您的更改。相反,打開該文件並:sav! ~/.vim/syntax/css.vim創建一個重複項,將首先覆蓋內置語法並對其進行編輯。

+0

似乎沒有工作。我創建了新文件並編輯了w/no效果,然後嘗試編輯原始文件而沒有運氣,在MacVim和Vim中語法仍然是錯誤的。 – Elliott

+0

您需要保存該文件,然後再次「設置ft = css」或重新打開CSS文件。它爲我工作。 – Conner

+1

爲了使這個解決方案能夠用於Sass文件,除了打開'$ VIMRUNTIME/syntax/sass.vim'之外,還要經過上面的同樣的過程,然後保存並編輯'〜/ .vim/syntax/sass.vim'或者在56號線附近。謝謝Connor。 – Elliott

1

或者你可以把它放到你的~/.vimrc文件中:au BufRead,BufNewFile *.scss setfiletype sass
Vim將使用帶有* .scss文件的Sass語法。