모든 HTML 태그에 대해 Vim의 Closetag 플러그인을 얻을 수있는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/1452716

  •  12-09-2019
  •  | 
  •  

문제

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="" 트릭을 수행하지는 않았지만 위의 조합은 모든 파일 유형에서이를 수정하는 것 같습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top