Общие инструкции по использованию Emmet в Far Manager

Введение

Emmet - это мощный инструмент для ускорения написания кода, который позволяет создавать HTML, CSS, JavaScript и Go структуры с помощью сокращений. В редакторе Far Manager Emmet активируется комбинацией клавиш Ctrl+E (по умолчанию).

Совет: Для активации Emmet в редакторе Far Manager используйте комбинацию клавиш Ctrl+E (по умолчанию).

Установка и настройка

Для использования Emmet в Far Manager необходимо установить плагин Sparkup:

  1. Убедитесь, что у вас установлен Python (версия 3.x)
  2. Проверьте, что файлы sparkup.lua и sparkup.py находятся в доступной директории
  3. Настройте путь к интерпретатору Python в файле sparkup.lua
  4. Проверьте, что макрос активируется по нужной комбинации клавиш
Внимание: Убедитесь, что путь к Python указан правильно в файле sparkup.lua в переменной O.python.
Совет: Emmet теперь поддерживает работу с файлами различных типов: HTML, JS, JSX, TS, TSX, Go, CSS, SCSS, SASS, LESS, PHP, Python, Ruby, Vue, Svelte. Для JS и Go файлов теги <pre> и <script> автоматически удаляются из результата.

Основные принципы работы

Emmet использует сокращения для создания кода. Вот основные принципы:

Оператор Описание Пример Результат
> Вложенность div>p <div><p></p></div>
+ Соседний элемент div+p <div></div><p></p>
^ Поднятие уровня div+div>p^span <div></div><div><p></p></div><span></span>
* Умножение ul>li*3 Список с 3 элементами
. Класс div.header <div class="header"></div>
# ID div#main <div id="main"></div>
[ ] Атрибуты input[type=text] <input type="text">
{ } Текст p{Привет} <p>Привет</p>
Пример сложного выражения: div.container>div.row>div.col-md-6*2>p{Текст}+span{Еще текст}
Результат: Создаст сложную структуру с Bootstrap классами и текстом

Расширенные возможности

Группировка элементов

Вы можете использовать скобки для группировки элементов и умножения целых структур:

ul>(li.item-$)*3 - создаст 3 элемента списка с нумерацией
.container>(.row>.col-md-4)*2 - создаст контейнер с двумя рядами по одной колонке

Нумерация с символом $

Символ $ заменяется на номер итерации при умножении:

div.item-$*3 создаст: div с классом item-1, div с классом item-2, div с классом item-3

Псевдоклассы и псевдоэлементы

Поддерживаются CSS-подобные псевдоклассы:

div:hover создаст div с классом hover

Поддерживаемые языки и фреймворки

Emmet в Far Manager поддерживает шаблоны для следующих технологий:

Совет: Для каждого типа шаблонов есть отдельный раздел документации, где подробно описаны все доступные сокращения.

Советы по эффективному использованию

Совет 1: Используйте синонимы для быстрого доступа к часто используемым шаблонам. Например, bs:nav вместо nav:bs.
Совет 2: Комбинируйте шаблоны для создания сложных структур. Например: html:5>head+body>div.container>nav:bs+.content.
Совет 3: Используйте умножение (*) для создания нескольких одинаковых элементов: li*5 создаст 5 элементов списка.
Совет 4: Для вложенных элементов используйте символ >: div>ul>li*3.
Совет 5: Для соседних элементов используйте символ +: div+p+span.
Совет 6: Экспериментируйте с комбинациями шаблонов для достижения нужного результата.

Отладка и устранение неполадок

Если шаблон не работает:

Если получаете ошибки:

Расширение функциональности

Вы можете добавлять свои собственные шаблоны в файл sparkup.py:

  1. Найдите секцию shortcuts в классе HtmlDialect
  2. Добавьте новый шаблон в формате 'имя_шаблона': { ... }
  3. Определите структуру шаблона с помощью атрибутов name, attributes, text, expand и т.д.
  4. Добавьте синонимы в секцию synonyms при необходимости
  5. Перезапустите редактор Far Manager
Пример добавления нового шаблона:
'my:component': {
  'name': 'div',
  'attributes': { 'class': 'my-component bg-blue-500 p-4 rounded' },
  'expand': True
}

Заключение

Emmet в Far Manager значительно ускоряет процесс написания кода, позволяя создавать сложные HTML-структуры, JavaScript-паттерны и Go-шаблоны с помощью коротких сокращений. Используйте эту документацию как справочник для эффективной работы с расширенными возможностями редактора.

Помните: Чем больше вы практикуетесь с Emmet, тем быстрее становитесь в написании кода!