2010-12-03 5 views
0

私はcssを1つのライナーに形成するためのこのマップを得ました。Vim、CSSクリーンキーマップ関数に変換

map <silent> <leader>cssclean :%[email protected]\v/\*([^*]\|[\r\n]\|(\*+([^*/]\|[\r\n])))*\*+/@@g<Bar>:call CssPretty()<Bar> :%le<Bar>:%s/{\_.\{-}}/\=substitute(submatch(0), '\n', '', 'g')/<Bar>:nohl<cr>Gdd 

このマップには、CssPrettyが必要です。

ここでは:call CssClean()のようにしたいと思います。私はthis vim tipを読んでこれを書こうとしましたが、うまくいかなかった。

答えて

2

その機能のコードは何ですか?

function CssClean() 
    %[email protected]\v/\*([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*+/@@g 
    call CssPretty() 
    %le 
    %s/{\_.\{-}}/\=substitute(submatch(0), '\n', '', 'g')/ 
    nohl 
    normal! Gdd 
endfunction 

は正常に動作するはずです。

+0

ありがとうございました! :D –

+0

@ragingmon:さらに、1行以上のマッピングを行っている場合は、関数 'map cssclean:CssClean()'を呼び出す必要があります。読むのがずっと簡単で、 '|'などの問題を取り除きます。 –

+0

Chrisさん、ありがとうございます:) –