我總是錯過並總是插入vim的一個IDE功能是製表符完成。獲取vim爲CSS類和ID名稱提供標籤填充
我是SuperTab的忠實粉絲,但我無法忍受的一件事情是,它將CSS類名和ID的部分用破折號當作單獨的單詞處理。
我發現了一些駱駝套和underscore_completion可能的解決方案,但我似乎無法找到任何支持普通舊破折號的東西。
我總是錯過並總是插入vim的一個IDE功能是製表符完成。獲取vim爲CSS類和ID名稱提供標籤填充
我是SuperTab的忠實粉絲,但我無法忍受的一件事情是,它將CSS類名和ID的部分用破折號當作單獨的單詞處理。
我發現了一些駱駝套和underscore_completion可能的解決方案,但我似乎無法找到任何支持普通舊破折號的東西。
這不是一個CSS特定的問題:Vim使用值iskeyword
來執行完成。
輸入:set iskeyword?
查看哪些字符被認爲是關鍵字的一部分。 Mac上的默認設置應該是@,48-57,_,192-255
。
您可以使用此命令破折號添加到列表:
:set iskeyword+=-
此行添加到您的~/.vimrc
此設置棒:
set iskeyword+=-
這似乎爲我工作:
autocmd FileType css,scss set [email protected],48-57,_,-,?,!,192-255
取自:VIM: How to autocomplete in a CSS file with tag ids and class names declared in HTML file
對於未來的讀者:如果你想爲破折號編輯/移動命令的好處,但要完全產權自動完成,你可以添加以下到您的.vimrc
:
augroup css_dash_autocompletion
autocmd FileType scss,css autocmd! css_dash_autocompletion InsertEnter <buffer> set isk+=-
autocmd FileType scss,css autocmd css_dash_autocompletion InsertLeave <buffer> set isk-=-
augroup END
第一!
防止重複事件激發。感謝ZyX的結構。如果您再輸入source
您的.vimrc
,您需要:e
您打開的任何(S)CSS文件才能找到更改。
我已經嘗試過這種路線,但是這有副作用,那麼運動命令會將短劃線作爲單獨的單詞處理。因此,在文件中移動時,我的班級名稱會被視爲5個單詞。 – 2012-02-18 00:27:47
你的意思是'eEwWbB'?關鍵是在Vim認爲一個詞中包含'-'。使用默認值時,您必須按'5e'從'.'到'.social-network-buttons'中的最後一個字符,但使用':set iskeyword + = - ',您只需要敲擊一次'e'。 – romainl 2012-02-18 08:25:46
對不起,我不清楚我的意思是說我喜歡默認動作,其中破折號被視爲分詞,但我想我可以改變我的肌肉記憶以使用f-,因爲我希望比動作更頻繁地完成完成。 – 2012-02-19 00:14:19