
일치하는 HTML 태그 쌍 중 한 구성원을 변경하면 다른 구성원도 자동으로 일치하도록 변경되도록 Vim을 구성하려면 어떻게 해야 합니까?
예를 들어 <span>content</span>
, I want to Change <span>
to <div>
, 그러면 마감이 </span>
자동으로 로 변경됩니다 </div>
. 이상적으로는 삽입 모드에서 일반 모드로 돌아올 때 이런 일이 발생하지만, 이 일이 발생하도록 특수 키 바인딩을 눌러야 한다면 괜찮을 것입니다.
답변1
우수한서라운드.vim변경하려는 태그 내 아무 곳에나 커서를 놓고 일반 모드에서 cst<div>
( c
hange s
주변에 t
ag to <div>
)를 입력하면 됩니다. 태그 이름은 여는 태그와 닫는 태그 모두에서 "div"로 변경되며 일반 모드로 돌아갑니다.
답변2
다음은 몇 가지 단계입니다.
- 첫 번째 태그에 커서를 놓습니다.
- 다음을 눌러 외부 HTML 코드를 선택하십시오 vat.
Esc시각적 모드를 종료하려면 키를 누르고 다음을 입력하세요.
:'<,'<s/span/div/ :'>,'>s/span/div/
:'>,'>s/span/div/
같은 줄에 동일한 닫는 태그가 두 번 나타나면 항상 첫 번째 태그가 변경되므로 올바르게 작동하지 않습니다 . 문제를 해결하려면:'>,'>s/.*\zsspan/div/
대신 다음을 사용하세요. 보다:줄에서 마지막 문자열 발생을 변경하는 방법은 무엇입니까?
관련된:
답변3
빔따라서 태그플러그인은 다음을 수행할 수 있습니다.
답변4
와 더불어SwapIt - 확장 가능한 키워드 교환기<C-a>
, / 를 통해 전환할 수 있는 태그 그룹을 정의할 수 있습니다 <C-x>
. 예를 들면 다음과 같습니다 ~/.vim/ftplugin/html_swapit.vim
.
SwapList layout p div span
같은 줄에 시작 태그와 끝 태그가 모두 있고 해당 유형이 하나만 있는 경우 my를 통해 둘 다 편집할 수 있습니다.ChangeGlobally 플러그인.
또한 특정 단어를 표시하고 한 번에 편집할 수 있는 여러 가지 "멀티커서" 플러그인도 있습니다.