จะข้ามไปมาระหว่างแท็ก HTML / XML ที่ตรงกันได้อย่างไร


44

วิธีการข้ามไปมาระหว่างแท็กจับคู่ (เช่น<div>, <span>ฯลฯ ) เมื่อแก้ไขเอกสาร HTML / XHTML / XML ในทำนองเดียวกันตามที่%จะใช้ในการข้ามไปมาระหว่างวงเล็บจับคู่?


6
ซ้ำเป็นไปได้ของการใช้% ในภาษาโดยไม่ต้องวงเล็บปีกกา ... การแก้ปัญหานี้ยังสามารถใช้ได้กับ HTML (เพิ่งผ่านการทดสอบว่าถ้าคุณอยู่ใน>มันจะทำงานเหมือนก่อนถ้าคุณอยู่ในdivมันจะทำงานเหมือนที่คุณต้องการ)
Martin Tournoij

@Carpetsmoker หากคำถามนี้ซ้ำกับคำตอบทั่วไป (ใช้ปลั๊กอินเดียว) ก็จะไม่อนุญาตให้มีคำตอบใด ๆ ที่เกี่ยวข้องกับแท็ก html โดยเฉพาะ
kenorb

อย่างไรก็ตามคำถามอื่นมีคำตอบที่เหมือนกันดังนั้นนี่จึงเป็นคำถามซ้ำ
Doorknob

โพสต์คำตอบตัวอย่างที่ไม่เหมาะกับคำถามอื่นดังนั้นจึงไม่ซ้ำกัน
kenorb

1
@Doorknob ความจริงที่ว่ามีสองคำถามที่มีคำตอบเหมือนกันไม่จำเป็นต้องหมายความว่าคำถามนั้นซ้ำซ้อนกัน
200_success

คำตอบ:


44

Vim จัดส่งมาพร้อมกับมาโครเรียกว่า matchit สำหรับคุณ สิ่งที่คุณต้องทำคือเปิดใช้งานมันruntime macros/matchit.vimใน vimrc ของคุณ นี้จะช่วยให้คุณสามารถกระโดดจากเช่นเป็นไปของมัน<div> </div>โปรดทราบว่าเคอร์เซอร์ของคุณจะต้องอยู่ในวงเล็บเหลี่ยม หากคุณอยู่ในวงเล็บมุม%จะกระโดดจากวงเล็บหนึ่งไปยังอีกมุมหนึ่งตามปกติ


22

คุณสามารถข้ามไปมาระหว่างแท็กโดยใช้ตัวดำเนินการที่มองเห็นได้เช่น:

  1. วางเคอร์เซอร์บนแท็ก
  2. vเข้าสู่โหมดภาพโดยการกด
  3. เลือกบล็อกแท็กด้านนอกโดยกดa+ tหรือi+ tสำหรับบล็อกแท็กด้านใน

เคอร์เซอร์ของคุณควรข้ามไปยังแท็ก html / xml การปิดที่ตรงกัน หากต้องการกระโดดกลับจากแท็กปิดให้กดoหรือOเพื่อข้ามไปยังแท็กตรงกันข้าม

ตอนนี้คุณสามารถออกจากภาพได้โดยการกดEscเปลี่ยนมันด้วยหรือคัดลอกโดยcy


หากต้องการบันทึกการกระทำนั้นลงในการลงทะเบียนให้กดqqเพื่อเริ่มการบันทึกดำเนินการกระโดดแท็กดังกล่าวข้างต้น (รวมถึงEsc) กดqเพื่อเสร็จสิ้น @qจากนั้นจะก่อให้เกิดการกระโดดกด


ดูความช่วยเหลือเพิ่มเติมได้ที่:help visual-operatorsหรือ:help v_it:

at<tag> </tag>บล็อก (กับแท็ก)

it<tag> </tag>บล็อก ชั้นใน


อีกวิธีหนึ่งคือใช้ปลั๊กอินเช่นmatchit.vimหรือsurround.vim


ดูสิ่งนี้ด้วย:


3

xmledit( http://vimawesome.com/plugin/xmledit ) ปลั๊กอินช่วยให้การกระโดดระหว่างแท็กเปิดและปิดการใช้

  • <localleader>%

บ่อยครั้งที่ <localleader> จะเป็น\เช่นนั้นคุณจึงสามารถกระโดดได้

  • \%

หมายเหตุ:ไม่เหมือนกับที่matchitคุณไม่ต้องวางเคอร์เซอร์ไว้ในแท็ก วางมันลงบน<หรือ>ก็ดีสำหรับxmleditปลั๊กอิน :)

หมายเหตุ 2:ข้อเสียเปรียบที่นี่คือคุณไม่สามารถใช้งานได้ในโหมดภาพ แต่นี่ไม่ใช่เรื่องใหญ่เนื่องจากคุณสามารถเลือกทั้งแท็กได้ตลอดatเวลา

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.