모든 HTML 태그에 대해 Vim의 Closetag 플러그인을 얻을 수있는 방법은 무엇입니까?
문제
Closetag.vim 플러그인을 사용하고 있지만 모든 태그에 대해 작동하지는 않습니다. 플러그인 코드에는 Ex DD DL을 닫지 않는 것으로 나타난 무시 된 태그 var가 있지만 목록에 작동하지 않는 다른 태그가 많이 있습니다 (P, UL, Li).
무시 된 태그 목록을 업데이트 한 후에는 아무 일도 일어나지 않았습니다.
이 플러그인이 작동하도록하려면 태그 텍스트를 입력하고 탭을 클릭하십시오. IE DIV
내가 뭔가를 놓치고 있습니까?
해결책
플러그인을 어떻게 설치 했습니까?
closetag.vim을 설치했을 때 문제가있었습니다. ~/.vim/plugins
. 그런 다음 다시 옮겼습니다 ~/.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
그리고 오류는 an입니다 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=""
트릭을 수행하지는 않았지만 위의 조합은 모든 파일 유형에서이를 수정하는 것 같습니다.