我正在使用closetag.vim插件,但它似乎不適用於所有標籤。在插件代碼中有被忽略的標籤var,其中包含一些我注意到不會關閉ex dd dl的變量,但還有許多其他列表中沒有不在列表中的內容(p,ul,li)。如何讓vim的closetag插件爲所有html標籤工作?
更新忽略標記列表後,似乎沒有發生任何事情。
要讓這個插件工作,只需輸入標籤文本並點擊標籤,對不對?即格
我錯過了什麼?
我正在使用closetag.vim插件,但它似乎不適用於所有標籤。在插件代碼中有被忽略的標籤var,其中包含一些我注意到不會關閉ex dd dl的變量,但還有許多其他列表中沒有不在列表中的內容(p,ul,li)。如何讓vim的closetag插件爲所有html標籤工作?
更新忽略標記列表後,似乎沒有發生任何事情。
要讓這個插件工作,只需輸入標籤文本並點擊標籤,對不對?即格
我錯過了什麼?
你是如何安裝插件的?
當我安裝在~/.vim/plugins
中時,我遇到了closetag.vim問題。然後我把它變成~/.vim/scripts
代替,並添加以下到我的.vimrc
:
:let g:closetag_html_style=1
:source ~/.vim/scripts/closetag.vim
,現在它爲我工作得很好。我發現它關閉了所有標籤(包括「忽略」列表中的標籤),但不包括那些自動關閉的標籤(例如<img/>
)。
在我使用的腳本版本(0.9.1)中,它將<C-_>
定義爲完成標記的觸發器。如果你已經將命令映射到<tab>
,那麼這也應該起作用。
我也無法得到這個插件的工作,但在我的情況下,它在最後工作之前會拋出一些錯誤消息。例如,如果我嘗試關閉H1標籤,我將得到錯誤Error Detected while processing function GetCloseTag
,錯誤是undefined variable b:UnaryTagsStack
。
似乎它會是一個有用的插件,但它不會合作。
我有同樣的問題,上面的nelstrom的答案並沒有解決我的問題。什麼工作對我來說是添加以下行到我的.vimrc:
if !exists("b:unaryTagsStack") || exists("b:closetag_html_style")
if &filetype == "html" || exists("b:closetag_html_style")
let b:unaryTagsStacktack="area base br dd dt hr img input link meta param"
else " for xml and xsl
let b:unaryTagsStack=""
endif
endif
if !exists("b:unaryTagsStack")
let b:unaryTagsStack=""
endif
我不知道爲什麼,只是加入let b:unaryTagsStack=""
沒有做的伎倆,但上面的組合似乎解決它在所有的文件類型我。
我也把它放在插件文件夾中。如前所述,它可以在一些標籤上工作,而不是一些很常見的標籤(p,ul,li)。我會嘗試你提到的。 – chris 2009-09-22 02:55:05
我得到和以前一樣的東西。我沒有正確使用插件嗎?我點擊Tab鍵完成標籤。對於我提到的標籤不起作用,光標只是超過2個字符。 – chris 2009-09-22 13:43:26
您是否將tab鍵配置爲closetag觸發器?正如我之前所說的,默認值是(控件+下劃線)。如果你按下,會發生什麼? –
nelstrom
2009-09-22 15:27:09