Как заставить пакет Vim [matchit] работать со смешанным файлом html и js?

В Vim есть пакет Matchit, который помогает переходить от тега к тегу с помощью клавиши «%». Это очень полезно для файлов html, так как вы можете переходить от начала к концу, а также от начала '<' к концу '>'. Кажется, что переход по тегам работает так, что он меняется от языка к языку. Вышеупомянутое поведение останавливается в файле javascript, и переход происходит по тегам (), {} и так далее.

У меня такая проблема:

У меня есть файл .tpl, который содержит как html, так и javascript, но переход по тегу% для html-элементов больше не работает. Как я могу включить смешанное поведение - прыжок в стиле html и прыжок в стиле js? Спасибо.

А как насчет :set ftplugin=javascript.html или :set ftplugin=html.javascript?

romainl 03.10.2018 17:29

Хех, похоже, я могу просто использовать: set filetype = html в файлах .tpl, и он также работает для перехода в js-функции. Спасибо.

VfP 03.10.2018 17:38
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
2
180
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

%, переходящий на (), {}, [], основан на встроенной опции 'matchpairs'. Плагин матч основан на этом и позволяет более сложные переходы (например, теги HTML).

Поскольку тип файла HTML просто расширяет опцию 'matchpairs', вы можете просто использовать этот тип файла также для файлов смешанного режима. (Во всяком случае, многие файлы HTML содержат фрагменты JavaScript, так что это хорошо поддерживаемая комбинация.)

Для меня *.tpl по умолчанию определяется как filetype=smarty. Этот тип файла (в Vim 8.1) предоставляет только синтаксический сценарий, но не содержит настроек типа файла.

Вы можете унаследовать настройки типа файла HTML (включая определения соответствий), создав ~/.vim/ftplugin/smarty.vim:

if exists('b:did_ftplugin') | finish | endif
runtime! ftplugin/html.vim
runtime! ftplugin/html_*.vim ftplugin/html/*.vim
let b:did_ftplugin = 1

Другие вопросы по теме