คำถามติดแท็ก delimiter-matching

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

2
เพิ่มการปิด "หรือ" โดยอัตโนมัติเมื่อแทรกเข้าไป แต่เมื่อเคอร์เซอร์ไม่ได้อยู่ในสตริงแล้ว
ผมได้กำหนดไว้ในแมปของฉันที่จะใส่วงเล็บใกล้ชิดและการจัดฟันโดยอัตโนมัติเมื่อฉันใส่คนที่เปิดด้วยvimrcinoremap ( ()<esc>i ฉันต้องการทำแบบเดียวกันกับ"และ'แต่เฉพาะเมื่อเคอร์เซอร์ไม่อยู่ในสตริง - เนื่องจากภายในสตริง'นั้นอาจเป็นเครื่องหมายอะโพสโทรฟีแทนที่จะเป็นตัวคั่นสตริง ฉันจะทำสิ่งนี้ได้อย่างไร

7
วิธีค้นหาบรรทัดที่ตรงกับบรรทัดปัจจุบันเป็นกลุ่ม
ฉันมักจะค้นหาคำด้วย:/stringแต่ถ้าฉันต้องค้นหาทั้งบรรทัดปัจจุบันวิธีการทำ event: 1 beacon: 0x02 //line 1 event: 19 beacon: 0x02 //line 2 event: 1 beacon: 0x03 //line 3 event: 1 beacon: 0x02 //line 4 event: 8 beacon: 0x01 //line 5 event: 19 beacon: 0x02 //line 6 event: 1 beacon: 0x02 //line 7 ตัวอย่างเช่นหากcursorปัจจุบันอยู่ที่line 1วิธีการค้นหาในทำนองเดียวกันกับ:/ข้อความที่มีทั้งบรรทัดปัจจุบัน เคอร์เซอร์ควรข้ามจากนั้นไปที่การจับคู่line 4และอีกครั้งเพื่อline 7

1
ฉันจะไฮไลต์ชื่อการจับคู่“%” (เช่น if / end, for / end) ที่กำหนดโดย matchit.vim ในการเลือกได้อย่างไร
ปัจจุบัน Vim ของฉันเน้นการจับคู่วงเล็บ, เครื่องหมายคำพูด, ฯลฯ ด้วยพื้นหลังสีฟ้าและพื้นหน้าสีขาว - เคอร์เซอร์สามารถเลื่อนไปมาระหว่างสิ่งเหล่านี้%ได้ ขอบคุณ matchit.vim ของฉันฉันยังสามารถสลับกับ%ระหว่าง if / end for / end ฯลฯ - อย่างไรก็ตามสิ่งเหล่านี้ไม่ได้เน้นที่การเลือก ฉันจะไฮไลต์คู่จับคู่เหล่านี้โดยอัตโนมัติเมื่อเลือกได้อย่างไรเช่นจะทำในวงเล็บโดยอัตโนมัติ นอกจากนี้ฉันจะแก้ไขสีพื้นหลังที่ใช้สำหรับคู่เหล่านี้ได้:highlightอย่างไร ขอบคุณล่วงหน้า. ฉันได้อัปเดตคำตอบโดย @Tommy A ด้านล่างเพื่อบัญชีสำหรับmatchit.vimกลุ่มที่ระบุไม่ดีและสถานการณ์อื่น ๆ ที่%ผู้ประกอบการไม่ได้กลับเคอร์เซอร์ไปที่ตำแหน่งเดิมเคย ตรวจสอบความแตกต่างในการวนรอบ "ในขณะที่" ใครก็ตามที่อ่านหัวข้อนี้ควรใช้เวอร์ชั่นนี้เพื่อหลีกเลี่ยงการวนซ้ำไม่ จำกัด : function! s:get_match_lines(line) abort " Loop until `%` returns the original line number; abort if " (1) …

1
ฉันสามารถบังคับให้การจับคู่วงเล็บปรากฏขึ้นในหลาย ๆ หน้าต่างได้หรือไม่
ฉันมีไฟล์ต้นฉบับที่มีรายการโครงสร้าง heterogenous ที่ซ้อนกันยาว เนื่องจากโครงสร้างมีความยาวฉันจึงต้องการ: ใช้:splitคำสั่งเพื่อแบ่งหน้าจอเป็นสอง เลื่อนลงหนึ่งหน้าต่างและอีกหน้าต่างหนึ่ง เมื่อเคอร์เซอร์บนหน้าต่างที่ 1 อยู่เหนือวงเล็บและมองเห็นวงเล็บอื่น ๆ ในหน้าต่างอื่นฉันต้องการให้วงเล็บอื่นในหน้าต่างอื่นกลายเป็นไฮไลต์ (เช่นเดียวกับที่มันแสดงในหน้าต่างเดียวกัน) ฉันจะทำขั้นตอนที่สองให้สำเร็จได้อย่างไร
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.