Nasıl (örneğin eşleştirme etiketleri arasında atlamak için <div>
, <span>
vb) ne zaman düzenleme HTML / XHTML / XML belgeleri benzer şekilde %eşleşen parantez arasında atlamak için kullanılır?
Nasıl (örneğin eşleştirme etiketleri arasında atlamak için <div>
, <span>
vb) ne zaman düzenleme HTML / XHTML / XML belgeleri benzer şekilde %eşleşen parantez arasında atlamak için kullanılır?
Yanıtlar:
Vim, bunu sizin için yapan matchit adlı bir makro ile birlikte gelir; Yapmanız gereken tek şey runtime macros/matchit.vim
vimrc ile onu aktive etmektir. Bu, bir, örneğin atlamak sağlayacak <div>
onun için </div>
. İmlecinizin açılı ayraçların içinde olması gerektiğini unutmayın; köşeli ayraçlar üzerindeyseniz, %bir braketten diğerine normal olarak atlayacaktır.
Görsel operatörleri kullanarak etiketler arasında geçiş yapabilirsiniz, örneğin:
İmleciniz eşleşen kapanış html / xml etiketine ilerlemelidir. Kapatma etiketinden geriye atlamak için, karşıt etikete geçmek için oveya düğmesine basın O.
Şimdi tuşuna basarak görselden çıkabilir Esc, değiştirebilir cveya kopyalayabilirsiniz y.
Bu işlemi kayıtlara kaydetmek için, kaydetmeye qqbaşlamak için tuşuna basın , yukarıdaki gibi etiket atlama yapın (dahil Esc), qbitirmek için tuşuna basın . Sonra atlamayı çağırmak için tuşuna basın @q.
Daha fazla yardım için :help visual-operators
veya :help v_it
:
at bir
<tag> </tag>
blok (etiketli)it iç
<tag> </tag>
blok
Alternatif olarak, matchit.vim veya surround.vim gibi bir eklenti kullanın .
Ayrıca bakınız:
xmledit
( Http://vimawesome.com/plugin/xmledit ) eklentisi kullanarak açık ve kapalı etiketleri arasına atlayabilmesidir
Genellikle <localleader> olacaktır \, böylece atlayabilirsiniz
NOT: Aksine matchit
, imlecinizi etiketin içine sokmanız gerekmez. Doğrudan yerleştirmek <
veya eklenti >
için gayet iyi xmledit
. :)
NOT 2: Buradaki dezavantajı, görsel modda kullanamamanızdır. Ancak bu önemli bir şey değil, çünkü daima etiketin tamamını seçebiliyorsunuz at.
>
daha önce olduğu gibi çalışacak, üzerinde çalıştıysanız,div
istediğiniz gibi çalışacak).