programing

Vim에서 HTML 태그를 빨리 닫을 수 있는 방법은 무엇입니까?

padding 2023. 9. 25. 22:22
반응형

Vim에서 HTML 태그를 빨리 닫을 수 있는 방법은 무엇입니까?

과 같은 를 한 .Vim에 이걸 됐어요,요.g를 쓰고 .HTML:

<html><head><title>This is a title</title></head></html>

제목, 머리, html에 대한 마감 태그를 빨리 작성하려면 어떻게 해야 합니까?저는 여기서 모든 것들을 하나씩 다 적는 것을 포함하지 않는 정말 간단한 방법을 놓치고 있는 것 같습니다.

물론 개별 태그 이름을 자동으로 완성하는 데 사용할 수 있지만 노트북 키보드를 사용하는 것은 실제로 괄호와 슬래시를 올바르게 사용하는 것입니다.

저는 xmledit 플러그인을 사용하는 것이 꽤 유용하다고 생각합니다.여기에 두 가지 기능이 추가됩니다.

  1. 태그를 열 때(예: 유형)<p>을 입력하면 됩니다. 됩니다.>안으로<p></p>삽입 모드에서 태그 내부에 커서를 놓습니다.
  2. 에 바로 을 하면,>(예: 입력합니다.<p>> 로 됩니다.

    <p>

    </p>

삽입 모드에서 한 번 움푹 들어간 태그 안에 커서를 넣습니다.

xml vim 플러그인은 이러한 기능에 코드 폴딩 및 중첩 태그 일치를 추가합니다.

물론 마크다운에 HTML 콘텐츠를 작성해서 사용한다면 태그를 닫을 걱정은 전혀 없습니다.%! Vim다해 :)

저는 사소한 것을 좋아합니다.

imap ,/ </<C-X><C-O>

마감 태그만 쓰는 것이 아니라 개폐 태그 모두를 vim이 작성하도록 하는 것이 더 편리하다고 생각합니다.팀 포프의 뛰어난 래그태그 플러그인을 사용할 수 있습니다.사용법은 다음과 같습니다(cursor position | mark cursor position).

스판 | 스판

+ 를 누릅니다.x

그리고 당신은

<span>|//span>

+x 대신 x+를 사용할 수도 있고, 를 얻을 수 있습니다.

<span>|</span>

래그태그는 그 이상의 기능을 수행할 수 있습니다(예: 이 %에 <%= 항목 삽입> 또는 DOCTYPE).래그태그의 작성자, 특히 서라운드의 다른 플러그인을 확인하고 싶을 것입니다.

이것 좀 봐요..

근접 태그.vim

Functions and mappings to close open HTML/XML tags

https://www.vim.org/scripts/script.php?script_id=13

저는 비슷한 거 써요.

정교한 작업을 하고 있다면 스파크 업이 아주 좋습니다.

이들 사이트의 예는 다음과 같습니다.

ul > li.item-$*3확장 대상:

<ul>
    <li class="item-1"></li>
    <li class="item-2"></li>
    <li class="item-3"></li>
</ul>

<C-e>.

문제의 예를 들어보자면,

html > head > title{This is a title}

수확량

<html>
  <head>
    <title>This is a title</title>
  </head>
</html>

zencoding vim 플러그인 https://github.com/mattn/zencoding-vim 도 있습니다.

튜토리얼: https://github.com/mattn/zencoding-vim/blob/master/TUTORIAL


업데이트: 현재 Emmet: http://emmet.io/ 이라고 하는 이름입니다.


자습서에서 발췌한 내용:

1. Expand Abbreviation

  Type abbreviation as 'div>p#foo$*3>a' and type '<c-y>,'.
  ---------------------
  <div>
      <p id="foo1">
          <a href=""></a>
      </p>
      <p id="foo2">
          <a href=""></a>
      </p>
      <p id="foo3">
          <a href=""></a>
      </p>
  </div>
  ---------------------

2. Wrap with Abbreviation

  Write as below.
  ---------------------
  test1
  test2
  test3
  ---------------------
  Then do visual select(line wize) and type '<c-y>,'.
  If you request 'Tag:', then type 'ul>li*'.
  ---------------------
  <ul>
      <li>test1</li>
      <li>test2</li>
      <li>test3</li>
  </ul>
  ---------------------

...

12. Make anchor from URL

  Move cursor to URL
  ---------------------
  http://www.google.com/
  ---------------------
  Type '<c-y>a'
  ---------------------
  <a href="http://www.google.com/">Google</a>
  ---------------------

매핑

블록 태그를 즉시 닫고(인라인이 아닌) 가능한 간단한 바로 가기 기능을 사용하는 것이 좋습니다(가능한 경우 특수 키를 사용하지 않는 것이 좋습니다).closetag.vim인라인 태그를 닫습니다.)저는 태그 블록을 시작할 때 이 바로 가기를 사용하는 것을 좋아합니다(@kimilhee 덕분에; 이것은 그의 대답에서 발췌한 것입니다).

inoremap ><Tab> ><Esc>F<lyt>o</<C-r>"><Esc>O<Space>

샘플사용량

유형—

<p>[Tab]

결과—

<p>
 |
</p>

어디에|커서 위치를 나타냅니다.

설명.

  • inoremap , 삽입 모드에서 매핑을 만듭니다.
  • ><Tab> 닫힘 각괄호와 탭 문자를 의미하며, 이것이 일치합니다.
  • ><Esc> 첫 번째 태그를 종료하고 정상 모드로 삽입에서 탈출하는 것을 의미합니다.
  • F< 평균 마지막 개방 각도 브래킷을 찾습니다.
  • l , 커서를 오른쪽으로 이동합니다(개구 각도 브래킷 복사 안 함).
  • yt> 커서 위치에서 다음 닫힘 각도 브래킷 이전까지의 위치(즉, 태그 내용 복사)를 의미합니다.
  • o</ , 삽입 모드에서 새 선을 시작하고 개방 각도 브래킷을 추가하고 슬래시합니다.
  • <C-r>" 기본 레지스터에서 삽입 모드로 붙여넣기를 의미합니다(")
  • ><Esc> 클로징 태그를 닫고 삽입 모드에서 벗어남을 의미합니다.
  • O<Space> 커서 위에 삽입 모드로 새 줄을 시작하고 공백을 삽입하는 것을 의미합니다.

체크아웃

매우 간단한 스크립트입니다(또한 A/S로도 사용 가능).vundle플러그인) 닫히는 (X)HTML 태그를 사용할 수 있습니다.지금부터.README:

현재 내용인 경우:

<table|

이제 를 누르면 내용은 다음과 같습니다.

<table>|</table>

이제 다시 누르면 내용은 다음과 같습니다.

<table>
   |
</table>

참고:|여기 커서가 있습니다.

다음은 쉽게 찾을 수 있는 웹 작성을 기반으로 한 또 다른 간단한 솔루션입니다.

  1. HTML 태그 자동 닫기

    :iabbrev </ </<C-X><C-O>

  2. 완료 켜기

    autocmd FileType xml set omnifunc=xmlcomplete#CompleteTags

allml(현재 Ragtag) 및 Omni-complete(<C-X><C-O>)는 .py 또는 .java와 같은 파일에서 작동하지 않습니다.

해당 파일에서 태그를 자동으로 닫으려면 이렇게 매핑할 수 있습니다.

imap <C-j> <ESC>F<lyt>$a</^R">

( ^R은 Control+R입니다 : Control+v와 같이 입력한 후 Control+r )

(|는 커서 위치) 를 입력하면 지금..

<p>abcde|

그리고 ^j를 입력합니다.

그리고는 이렇게 태그를 닫습니다.

<p>abcde</p>|

@KeithPinson의 훌륭한 답변을 바탕으로 한 이 대안은 자동 완성이 HTML 태그(예: 클래스, ID 등) 안에 있을 수 있지만 닫는 태그에 복사해서는 안 되는 추가 내용을 복사하는 것을 방지합니다.

작업할 응답을 업데이트했습니다.filename.html.erb
Rails했습니다와 것을 했습니다.some_file.html.erb때)를 예:<p>Year: <%= @year %><p>아래 코드는 다음과 같이 동작합니다..html.erb

inoremap ><Tab> ><Esc>?<[a-z]<CR>lyiwo</<C-r>"><Esc>O

샘플사용량

유형:

<div class="foo">[Tab]

결과:

<div class="foo">
  |
<div>

|을 나타냅니다.

그리고 블록 스타일 대신 인라인으로 클로징 태그를 추가하는 예:

inoremap ><Tab> ><Esc>?<[a-z]<CR>lyiwh/[^%]><CR>la</<C-r>"><Esc>F<i

샘플사용량

유형:

<div class="foo">[Tab]

결과:

<div class="foo">|<div>

|을 나타냅니다.

두 입니다에 하고 있는 입니다.>[Tab]닫힘 태그를 표시합니다(인라인 또는 블록 스타일 중 하나를 선택해야 함을 의미함).저는 개인적으로 블록 스타일을 사용합니다.>[Tab]께.>>.

언급URL : https://stackoverflow.com/questions/130734/how-can-one-close-html-tags-in-vim-quickly

반응형