Vim %
연산자는 일치하는 괄호, 주석 끝 및 기타 몇 가지로 이동합니다. 그러나 XML 태그 (또는 다른 태그)는 필자가 아는 한 일치하지 않습니다.
Vim을 사용하여 일치하는 XML 태그로 이동하는 가장 좋은 방법은 무엇입니까?
참고 : 나는 무엇 정말 하고 싶은 수동으로 일치하는 태그를 찾고없이 XML 파일의 섹션을 중복입니다.
Vim %
연산자는 일치하는 괄호, 주석 끝 및 기타 몇 가지로 이동합니다. 그러나 XML 태그 (또는 다른 태그)는 필자가 아는 한 일치하지 않습니다.
Vim을 사용하여 일치하는 XML 태그로 이동하는 가장 좋은 방법은 무엇입니까?
참고 : 나는 무엇 정말 하고 싶은 수동으로 일치하는 태그를 찾고없이 XML 파일의 섹션을 중복입니다.
답변:
matchit.vim이라는 vim 플러그인이 있습니다. http://www.vim.org/scripts/script.php?script_id=39에서 찾을 수 있습니다 . 그것은 당신이 묘사하는 정확한 목적과 거의 비슷합니다.
이를 설치하고 커서를 태그의 본문에 놓고 (<>가 아니라면 일치) 다른 태그로 이동하려면 %를 누르십시오. 스크립트 페이지를 참조하여 일치하는 내용을 찾으십시오.
runtime macros/matchit.vim
활성화하고 %
XML 태그를 일치시킬 수 있어야합니다.
packadd! matchit
할 .vimrc
기능을 활성화. 더 읽기:help matchit
추가 플러그인없이이 작업을 수행 할 수 있습니다.
또 다른 유용한 작업은 다음과 같습니다 vit.-태그의 내용을 선택합니다 (내부).
업데이트 (@elrado 덕분에) 예 : vito태그의 내부 내용을 선택하고 선택한 텍스트의 시작 부분에 커서를 놓습니다.
참조 : /superuser/182355/how-can-i-select-an-html-tags-content-in-vim
Vim 참조 (이 사실을 지적한 @Geek 덕분에) :
:help visual-operators
당신은 얻을 것이다:
4. Operating on the Visual area *visual-operators*
The objects that can be used are:
...
at a <tag> </tag> block (with tags) |v_at|
it inner <tag> </tag> block |v_it|
...
cit
변경 전 그냥 내용 - nterior 태그를. cat
변경 내용 및 - 태그 LL LSO 태그 자체, 개폐 모두.
OP는 그가 실제로하고 싶은 것은 일치하는 태그를 찾을 필요없이 XML의 섹션을 복사하는 것이라고 밝혔다. 이는 일반 모드에서 쉽게 수행됩니다 yat<motion>p
.이 태그는 텍스트를 일치시키고 일치하는 태그를 포함시킨 다음 붙여 넣습니다. yit<motion>p
거의 동일하지만 외부 태그는 포함되지 않습니다.
문자열에서 'y'는 물론 일반 모드 "yank"명령입니다. ( :help y
)
a
또는 시각적 선택 i
과 같이 y
또는 내부에서 조작자 후에 오브젝트 선택에 사용될 수 있습니다 . 뒤의 기호 a
또는 i
선택해야 할 항목을 지정합니다. t
여기에 사용 된 객체 유형 은 SGML 태그를 나타냅니다. ( :help object-select
).
물론 <motion>
당신이 선택한 수단으로 어딘가로 이동 p
하고 그 위치에 구부러진 텍스트를 넣는 것을 의미합니다 .
i
"내부"(또는 "내부")를 나타냅니다. a
"a"를 의미합니까?
a
은 "all"을 나타냅니다.
a
의미합니다 . 나에게 더 의미가 있습니다.