VIM obsługuje pasujące pary nawiasów klamrowych, nawiasów i nawiasów kwadratowych. Jest to świetne do edycji języków w stylu C, takich jak PHP i JavaScript. Ale co z dopasowanymi tagami HTML?
Notepad ++ ma tę funkcję tak długo, jak długo jej używam. Bardzo przydatna jest umiejętność rozpoznawania, gdzie zaczynają się i kończą bloki HTML. To, czego szukam, to coś takiego dla vima (zobacz zielone znaczniki div):
(funkcja dodatkowa: wyróżnianie niezamkniętych tagów HTML, takich jak czerwony znacznik na tym zrzucie ekranu).
matchit został zaproponowany jako kolejna najlepsza rzecz, ale wymaga on dodatkowego naciśnięcia klawisza, aby móc korzystać z jego funkcji. Chciałbym móc zobaczyć, gdzie bloki HTML zaczynają się i kończą bez dodatkowego naciskania.
Przeszukałem internet, by znaleźć coś takiego dla vima. Najwyraźniej nie jestem jedynym, zgodnie z 2 innymi pytaniami StackOverflow i nabble .
Prawie zrezygnowałem z tego, że vim nie jest w stanie wizualnie dopasować tagów HTML. Czy vim może to zrobić?
Dodatek: Jeśli obecnie nie jest możliwe zrobienie tego z żadnymi istniejącymi wtyczkami, czy jakiś kreator vimscript ma jakieś wskazówki, jak podejść do napisania odpowiedniej wtyczki?
Odpowiedzi:
Musiałem dziś pracować z trochę HTML, więc pomyślałem, że sobie z tym poradzę. Dodano ftplugin do vim.org, który powinien rozwiązać twój problem.
Możesz go pobrać tutaj na vim.org .
Możesz go pobrać tutaj na github .
Mam nadzieję, że Ci się uda. Daj mi znać, jeśli masz jakieś problemy.
źródło
Wtyczka Grega MatchTag.vim jest niesamowita, ale chciałem czegoś więcej. Chciałem, aby otaczające tagi były zawsze podświetlone, nie tylko wtedy, gdy kursor znajduje się na jednym z tagów.
Napisałem więc MatchTagAlways, który robi wszystko, co robi Greg's MatchTag, a także zawsze wyróżnia otaczający tag, bez względu na to, gdzie kursor znajduje się w kodzie. Działa również z niezamkniętymi tagami i językami szablonów HTML, takimi jak Jinja lub Kierownica.
Oto GIF pokazujący go w akcji:
źródło
Przybyłem tutaj, szukając pasujących nawiasów kątowych w stylu HTML w Vimie. To wydaje się działać:
źródło