Vim에서 일치하는 XML 태그로 이동
빔%
연산자는 일치하는 괄호, 주석 끝 및 기타 몇 가지 항목으로 이동합니다.그러나 내가 아는 한 XML 태그(또는 다른 태그)와 일치하지 않습니다.
Vim을 사용하여 일치하는 XML 태그로 이동하는 가장 좋은 방법은 무엇입니까?
참고: 제가 정말로 하고 싶은 것은 일치하는 태그를 수동으로 찾지 않고 XML 파일의 섹션을 복제하는 것입니다.
추가 플러그인 없이 다음 작업을 수행할 수 있습니다.
- 태그에 커서를 놓습니다.
- - (outer) 태그를 선택하고 끝에 커서를 놓습니다.
- 선택한 항목이 있으면 상단과 하단을 전환할 수 있습니다(Michael Gruber의 노트를 기반으로 업데이트).
- - c 변경 또는 - 복사 또는 시각적 모드를 떠나기 위해 탈출...
또 다른 유용한 연산은: - 태그(내부)의 내용을 선택합니다.
Update(@elrado 덕분에) 예제: 태그의 내부 내용을 선택하고 선택한 텍스트의 시작 부분에 커서를 놓을 수 있습니다.
참조 : https://superuser.com/questions/182355/how-can-i-select-an-html-tags-content-in-vim
Vim reference (참고해주신 @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|
...
matchit.vim이라는 vim 플러그인이 있습니다. 여기 http://www.vim.org/scripts/script.php?script_id=39 에서 확인할 수 있습니다. 설명한 목적과 거의 동일하게 생성되었습니다.
설치하고 태그 본문에 커서를 놓고(<>가 아닌 경우) %를 눌러 다른 태그로 이동합니다.스크립트의 페이지를 참조하여 일치하는 내용을 확인합니다.
OP는 그가 정말로 하고 싶었던 것은 일치하는 태그를 찾을 필요 없이 XML의 한 섹션을 복사하는 것이라고 말했습니다.이것은 일반 모드에서 쉽게 할 수 있습니다.yat<motion>p
, 일치하는 태그를 포함하여 텍스트를 내부에 고정한 다음 붙여넣습니다.yit<motion>p
거의 비슷하지만 외부 태그는 포함되어 있지 않습니다.
문자열의 'y'는 당연히 일반 모드 "yank" 명령입니다. (:help y
)
a
아니면i
다음과 같은 연산자 뒤에 객체 선택에 사용될 수 있습니다.y
혹은 시각적 선택 안에서.뒤에 오는 기호.a
아니면i
선택할 항목을 지정합니다.개체 유형t
여기서 사용하는 것은 SGML 태그를 나타냅니다. (:help object-select
).
물론이야.<motion>
합니다에 합니다.p
해당 위치에 줄눈 텍스트를 놓습니다.
"양크", "객체 선택"(태그 선택) 및 "마지막으로 양크된 텍스트로 점프"를 사용하는 나의 트릭입니다.
yit`]
태그를 닫기 전에 오른쪽으로 뛰다
그리고.
yit
태그를 연 후 오른쪽으로 뛰다
참고: 기본 레지스터의 내용이 변경됩니다.
언급URL : https://stackoverflow.com/questions/500989/jump-to-matching-xml-tags-in-vim
'prosource' 카테고리의 다른 글
MYSQL - 선택 및 구문 분석 (0) | 2023.09.20 |
---|---|
DB Connection 매개변수를 주전자에 전달 PDI 테이블 입력 단계를 Excel에서 동적으로 수행 (0) | 2023.09.20 |
프로그래밍 방식으로 OS X 명령줄 앱의 절대 경로 검색 (0) | 2023.09.20 |
파일 체크아웃 없이 Git 분기 전환 (0) | 2023.09.20 |
Uncatched ArgumentCountError: array_merge()가 알 수 없는 명명된 매개 변수를 허용하지 않습니다. (0) | 2023.09.20 |