Vim: Стань HTML-ниндзя с Emmet
Опубликовано:
- Vim
- Tools
- HTML
- Frontend
Источник: «Become a Html Ninja with Emmet for Vim»
Мы рассмотрим несколько возможностей Emmet плагина для vim на конкретных примерах, и к концу этой статьи вы будете выдавать html-код, как по волшебству, и вам будет интересно узнать больше!
Вы, вероятно, читали, как много опытных виммеров проповедуют о чистоте vim и изучении нативных функций вместо установки плагинов, и это правильный образ мышления, имеет смысл избегать установки плагинов, которые не дают ничего, кроме встроенных функций vim в причудливом виде. Но, это не значит, что вам вообще следует избегать установки каких-либо плагинов!
Есть отличные плагины повышающие производительность и Emmet один из них.
Emmet — необходимый инструмент для веб-разработчика
Emmet — это плагин доступный для большинства текстовых редакторов и IDE, он предоставляет инструментарий, который вам понравится и вы никогда не откажитесь от него.
Мы рассмотрим несколько его возможностей на конкретных примерах, и к концу этой статьи вы будете выдавать куски html кода, как по волшебству, и вам будет интересно узнать больше!
Инсталляция и настройка
В этом примере мы будем использовать Vim-Plug для инсталляции Emmet, но вы можете использовать менеджер плагинов на свой выбор.
Инсталляция
- Откройте свой
.vimrc-файл
и добавьте строкуPlug 'mattn/emmet-vim'
между строк вызова Vim-Plug
"-- PLUGINS (Using junegunn/vim-plug)
call plug#begin()
Plug 'mattn/emmet-vim'
call plug#end()
- Перезапустите свой
.vimrc-файл
с помощью команды:source ~/.vimrc
- Установите плагин Emmet командой
PlugInstall
Настройка
Эта часть представляет личную конфигурацию, которую я считаю очень полезной, и думаю, что она может быть полезна вам.
Основная команда для выполнения магии Emmet в vim — это комбинация <C-y>,
. Это означает, что вы должны нажать Ctrl + y за которыми следует , запятая. На мой взгляд, это слишком много даже для такой полезной функции, которая всегда должна быть под рукой.
Если вы читали документацию Emmet-vim, это побудит вас переопределить триггерную комбинацию (комбинация клавиш <C-y>
). Я решил, что удобнее запускать его , (запятой, которая у меня так же <leader>
клавиша).
По умолчанию клавиша
<leader>
назначена на \, но вы можете через команду:let mapleader = ","
назначить другую клавишу (в данном случае , )
Вы можете это сделать добавив следующую строку в свой .vimrc-файл:
let g:user_emmet_leader_key=','
"-- EMMET CONFIG --
" redefine trigger key
let g:user_emmet_leader_key=','
Мы заменили комбинацию <C-y>
на простую , (запятую)
Итак, моя команда для вызова магии Emmet: ,, (запятая запятая), простая и удобная для пальцев.
Давай попробуем
Как вы могли заметить на первой гифке, Emmet позволяет вам набрать сокращение, которое станет html-фрагментом.
Мы возьмём тот пример и разберём его шаг за шагом, что бы понять синтаксис и что происходит.
Emmet-vim предлагает команды, которые можно использовать как в режиме вставки, так и в нормальном режиме, но в этом примере мы сосредоточимся только на режиме вставки.
HTML шаблон
Первый базовый сниппет — это базовый html шаблон:
- Нажмите i для перехода в режим вставки
- Напечатайте
html:5
- и нажмите ,, (запятая запятая)
Создание HTML тэгов по имени
На первой гифке после добавления шаблона html мы ввели странную команду, которая вставила <div>
с множеством вещей внутри.
Давайте сфокусируемся только на теге <div>
! Emmet создаёт тег из каждого имени, которое вы вводите, давайте попробуем:
- Напечатайте
div
- и напечатайте ,, (запятая запятая)
. ..и давайте попробуем кое-что ещё:
- печатаем
myname
- и печатаем ,, (запятая запятая)
Да, вы можете использовать его со своими именами компонентов React.js!
Дочерний оператор
Следующим шагом, к нашей команде добавим дочерний оператор >
, он используется для добавления дочернего html элемента, объявленного перед ним.
Давайте добавим <div>
с <p>
внутри, который содержит ссылку <a href="">
- печатаем
div>p>a
- и печатаем ,, (запятая запятая)
Операторы атрибутов
Вы можете задать атрибуты для html элементов, как в CSS
Давайте попробуем в предыдущий пример добавить класс .container
к <div>
и идентификатор #foo
к тегу параграфа.
- Печатаем
div.container>p#foo>a
- и печатаем ,, (запятая запятая)
Оператор нумерации и умножения элементов
Последние неизученные элементы синтаксиса нашей странной команды на первой гифке, это нумерация элементов $
и оператор умножения *
.
Вы, вероятно, уже использовали оператор умножения. Это довольно просто, вы используете его с числом после элемента, который хотите умножить. И он будет добавлен в том количестве, которое вы определили.
Допустим, вам нужен <div>
с пятью <p>
внутри, просто печатаете div>p*5
:
Итак, с помощью оператора умножения *
вы можете повторять элементы, но с оператором $
вы можете нумеровать их. Поместите оператор $
внутри имени элемента, имени атрибута или значении атрибута, чтобы получить текущий номер повторяющегося элемента.
Давайте дадим предыдущим пяти <p>
, разные идентификаторы #foo
, с порядковым номером, что бы отличать их друг от друга:
- печатаем
div>p#foo$*5
- и печатаем ,, (запятая запятая)
Поздравляю! У тебя получилось
Та команда из первой гифки больше не выглядит такой странной! Попробуйте сами и немного измените команду, что бы увидеть, что получится!
div>p#foo$*5>a
И хорошая новость в том, что это только начало того, что может предложить Emmet. Вы можете улучшить свои навыки написания HTML
и React.jsx
с помощью возможностей Emmet.
Вот пара ссылок, по которым вы можете найти более интересную информацию по этой теме:
Документация Emmet
Руководство Emmet-vim с примерами
Дополнительные материалы
Предыдущая Статья
Vim: 7 вещей, которые вы должны знатьСледующая Статья
CSS: Руководство по современным цветамSublime Text Archives — Как стать программистом
Перейти к содержимому
Sublime Text — популярный среди программистов редактор, с использованием Emmet плагина становится еще удобнее.
Эта статья — шпаргалка по Emmet командам, которые можно использовать для ускорения создания HTML документов, верстки и работы с CSS. Читать далее Команды Emmet — шпаргалка для плагина html редактора Sublime Text
Опубликовано Рубрики CSS, Программирование для начинающихМетки Emmet, html редактор, Sublime, редактор кода3 комментария к записи Команды Emmet — шпаргалка для плагина html редактора Sublime Text- Устанавливаем Package Control — менеджер пакетов (плагинов). Теперь любой новый плагин можно будет установить за секунду
- Открываем командную панель нажатием Сtrl+Shift+P (или Command+Shift
- Теперь вы должны увидеть список пакетов доступных для установки. Нужный нам пакет называется Emmet. Находим пакет Emmet (просто начните вводить «emme…» в Sublime Text 2 предусмотрен умный поиск). И нажимаем Enter чтоб установить 🙂 Читать далее Zen Coding в Sublime Text 2
Для вертикального выделения текста в Sublime Text под Windows достаточно зажать Shift и выделить текст, используя правую кнопку мыши вместо левой. Читать далее Вертикальное выделение в Sublime Text 2
Опубликовано Рубрики Без рубрикиДобавить комментарий к записи Вертикальное выделение в Sublime Text 2Sublime Text — текстовый редактор, возможности которого можно значительно расширить с помощью установки пакетов.
Для удобного управления пакетами установим Sublime Package Control
Читать далее Управление пакетами в Sublime Text
Опубликовано Рубрики Без рубрикиДобавить комментарий к записи Управление пакетами в Sublime TextДля использования в Sublime Text 2 регулярных выражений, нужно открыть в нем Поиск — нажав Ctrl+F или Замену — нажав Ctrl+H, а затем разрешить использовать регулярные выражения при поиске, нажав Alt+R или указанную на картинке кнопку:
Опубликовано Рубрики Без рубрикиДобавить комментарий к записи Sublime Text 2 — поиск с помощью регулярных выраженийSublime Text 2 — замечательный текстовый редактор. В нем есть умный поиск, подсветка синтаксиса для различных языков программирования и много других полезных вещей.
Посмотрим, как установить и начать пользоваться им в Ubuntu. Читать далее Ubuntu — установка Sublime Text 2
Опубликовано Рубрики UbuntuДобавить комментарий к записи Ubuntu — установка Sublime Text 2Для устанвки под Ubuntu Sublime Text проще всего добавить в систему репозиторий и побавить пакет оттуда
sudo add-apt-repository ppa:webupd8team/sublime-text-2 sudo apt-get update sudo apt-get install sublime-text
Sublime Text — лучший текстовый редактор для работы с кодом, с которым мне пока доводилось работать.
Рекомендую посмотреть хорошее видео про процесс работы с Sublime:
UPD: для полноценной интеграции в Ubuntu Sublime Text 2 лучше использовать этот метод: http://itman.in/ubuntu-ustanovka-sublime-text-2/
Опубликовано Рубрики PythonМетки Linux, Linux, Веб-разработка, Веб-разработка, Веб-разработкаДобавить комментарий к записи Sublime Text — установка в Ubuntu через репозиторийСокращения CSS
Хотя сокращения Emmet хороши для создания HTML, XML или любой другой структурированной разметки, они могут показаться бесполезными для CSS. Вы же не хотите писать селекторы CSS и преобразовывать их в селекторы CSS, верно? Единственное, что Emmet может сделать для вас, — это предоставить сокращения для свойств CSS, но редакторы с собственными фрагментами и автозаполнением могут помочь вам намного лучше.
Вообще-то Эммету есть что предложить.
Для синтаксиса CSS у Emmet есть много предопределенных фрагментов для свойств. Например, вы можете расширить m
сокращение для получения поля : ; Фрагмент
. Но вы не хотите просто свойство margin
, вы хотите указать значение для этого свойства. Так что вам придется вручную ввести, скажем, 10px
.
Emmet может значительно оптимизировать ваш рабочий процесс: вы можете ввести значение непосредственно в аббревиатуру . Чтобы получить маржу : 10px;
можно просто расширить аббревиатуру m10
. Хотите несколько значений? Используйте дефис, чтобы разделить их: m10-20
расширяется до поле: 10px 20px;
m-10--20
расширяется до margin: -10px -20px;
Как это работает?
У Emmet есть специальный преобразователь CSS, который превращает такие аббревиатуры в полное свойство CSS.
Вот что происходит, когда вы расширяете аббревиатуру m10
.
Сначала ищет m10 9Определение фрагмента 0008 в
snippets.json
. Если он найден, он просто выводит его как обычный фрагмент. В противном случае извлекает значение из аббревиатуры.
Чтобы обеспечить лучший пользовательский опыт, преобразователь не вводит никакого специального разделителя значений: гораздо быстрее набрать m5
, чем m:5
. Поэтому необходимо найти связанное значение: м10
пример, m
- это свойство, часть , а 10
- это значение, часть .
Когда часть свойства найдена, преобразователь ищет определение фрагмента в snippets.json
. Для части м
будет найдено "m": "margin:|;" Определение
(символ |
используется в качестве ссылки на позицию каретки при расширении фрагмента).
Определение фрагмента выглядит как свойство CSS (это очень важно!), поэтому Эммет может разделить его на свойство и значение CSS и поместить преобразованную часть значения в позицию курсора ( |
символов).
Предоставление значений с единицами измерения
По умолчанию, когда вы расширяете аббревиатуру целочисленным значением, Emmet выводит ее с размером px
m10
→ margin: 10px;
. Если вы расширяете аббревиатуру значением с плавающей запятой, оно выводится с размером em
unit: m1.5
→ margin: 1.5em;
. Но вы можете явно указать имя устройства, просто поставив любые буквы сразу после значения: m1.5ex
→ поле: 1,5ex;
, m10foo
→ поле: 10foo;
. Если вы явно указываете единицы измерения, вам больше не нужно использовать дефисы для разделения значений: m10ex20em
→ margin: 10ex 20em;
, m10ex-5
→ поле: 10ex -5px;
.
Псевдонимы значений
Эммет имеет несколько псевдонимов для часто используемых значений:
-
р
→%
-
е
→ем
-
x
→пр.
Вы можете использовать псевдонимы вместо полных единиц:
-
w100p
→ширина: 100%
-
m10p30e5x
→запас: 10% 30em 5ex
Цветовые значения
Emmet поддерживает шестнадцатеричные значения цвета, например: c#3
→ color: #333;
. Знак #
является разделителем значений , поэтому вам не нужно использовать дефис для его разделения. Например, bd5#0s
расширяется до border: 5px #000 solid
: знак #
отделяет цвет от 5
и так как s
(псевдоним solid
) не является шестнадцатеричным символом, его можно использовать без - разделитель значений
.
Вы можете указать один, два, три или шесть символов в качестве значения цвета:
-
#1
→#111111
-
#e0
→#e0e0e0
-
#fc0
→#ffcc00
Когда параметр css.color.short
включен (по умолчанию), значения цвета, такие как #ffcc00
, автоматически сокращаются до #fc0
. Вы также можете автоматически изменить регистр символов с помощью параметра css.color.case
.
Безразмерные свойства
Некоторые свойства CSS определены как без единиц измерения , например. суффикс единицы измерения выводиться не будет: lh3
→ line-height: 2;
, фв400
→ вес шрифта: 400;
.
Эти значения: 'z-index
, line-height
, opacity
и font-weight
, но вы можете переопределить их с помощью настроек css. unitlessProperties
!важный модификатор
Можно добавить ! Суффикс
в конце любой аббревиатуры CSS для получения !важное значение
:
р!+м10е!
...будет производить
заполнение: !важно; поля: 10em !важно;Включите JavaScript, чтобы просматривать комментарии с помощью Disqus. комментарии от Disqus
Brackets Emmet
Расширение Emmet позволяет преобразовать простые сокращения в сложные фрагменты кода.
Расширение Emmet является одним из лучших расширений в скобках Adobe и значительно облегчает жизнь программисту.
Процесс установки –
Процесс установки Emmet описан ниже.
- Откройте редактор скобок Adobe.
- Щелкните файл, а затем щелкните Extension Manager или непосредственно щелкните кнопку расширения в правом верхнем углу.
- Затем нажмите на кнопку расширения и найдите Emmet.
- Нажмите кнопку «Установить».
Плагин Emmet используется для редакторов кода, таких как Brackets, Eclipse, Dream Weaver и т. д. Этот плагин Emmet в основном помогает расширять теги с помощью сокращений.
В расширении Emmet есть множество опций, объясняющих различные типы аббревиатур и структуру тегов.
Различные типы сокращений –
В расширении Emmet существует множество различных типов сокращений. Некоторые из них объясняются ниже.
- Для создания скелета HTML.
- Чтобы создать дочерние элементы, используйте '>'.
- Чтобы сгенерировать одноуровневые элементы, используйте «+».
- Для создания атрибута ID.
- Для создания атрибута CLASS.
- Создать КЛАСС с идентификатором.
- Для создания неявных имен тегов.
- Для отображения текста внутри элемента с использованием символа {}.
- Чтобы сгенерировать код несколько раз, используя *.
- Для добавления чисел с помощью $.
- Для отображения настраиваемых атрибутов.
- Поднимитесь.
- Группировка.
Чтобы создать скелет HTML -
Чтобы создать скелет HTML, введите восклицательный знак (!), используйте символ '>' и введите HTML. После ввода этого щелкните меню Emmet и выберите «Расширить аббревиатуру».
Пример -
!> HTML> Body
Вывод -
для создания детских элементов, использующих '>' -
для создания детей, использующих символ '>'. Второй тег становится потомком первого тега. После ввода различных тегов щелкните меню Emmet и выберите аббревиатуру Expand.
Пример –
div>ul>li
Вывод –
Чтобы создать одноуровневые элементы, используйте «+» -
Чтобы создать одноуровневые элементы, используйте символ «+». При этом все теги находятся на одном уровне. После ввода различных тегов щелкните меню Emmet и выберите аббревиатуру Expand.
Пример –
p+section+p1+section2
Вывод –
Для создания атрибута ID -
Для создания атрибута ID с помощью символа '#'. Введите имя тега и введите символ «#», затем введите имя для идентификатора. После ввода имени и идентификатора тега щелкните меню Emmet и выберите аббревиатуру Expand.
Пример –
div #Brackets
Вывод –
Для создания атрибута CLASS –
Для создания атрибута CLASS с помощью '.' характер. В нем введите имя тега, введите '.' символ, а затем введите имя CLASS. После ввода имени тега и атрибута CLASS щелкните меню Emmet и выберите аббревиатуру Expand.
Пример –
div.adobebrackets
Вывод –
Для создания КЛАССА с идентификатором -
Для создания КЛАССА с идентификатором, используя символы «#» и «.». В нем введите имя тега, идентификатор, используя символ «#», и введите КЛАСС, используя «.». После ввода имени тега, атрибута CLASS и идентификатора щелкните меню Emmet и выберите аббревиатуру Expand.
Пример –
div#Brackets.Extensions.Themes
Вывод –
Для создания неявных имен тегов –
Чтобы создать неявное имя тега, используя символы «>. ». Введите имя тега, а затем нажмите «>». а затем введите имя класса. После ввода имени тега и имени CLASS щелкните меню Emmet и выберите аббревиатуру Expand.
Пример 1 –
ul>.Extension
Выход 1 –
Пример 2 –
Таблица>.строки>.столбцы
Выход2 —
Чтобы создать текст внутри элемента, используя { } символ -
Иногда между тегами нужно ввести текст. Здесь письменный текст может быть помещен между фигурными скобками {}. После ввода текста нажмите на Emmet, а затем нажмите на аббревиатуру Expand.
Пример –
li{Редактор скобок}
Вывод –
Чтобы создать код несколько раз, используя * -
Чтобы создать тег несколько раз, используя ' *' символ. Тег требуется несколько раз, символ «*» и число для печати. После ввода этого нажмите на Emmet, а затем нажмите на аббревиатуру Expand.
Пример –
div>ul>li*8
Вывод –
Для добавления чисел с помощью $ -
Иногда необходимо добавить числа между тегами .