LINUX.ORG.RU

Как создать сниппет в vim/neovim без плагинов?

 ,


0

1

Можно ли вообще создать собственный сниппет без каких либо плагинов, вроде этого UltiSnips. У любого редактора есть же свои штатные способы как создать сниппет, а в виме я что-то не нашел. Или плохо искал? В гугле находил ответы, но там все указывают на UltiSnips. То есть для того чтобы создавать сниппеты мне ещё нужно скачивать отдельный пакет что ли? А почему нет стандартных средств?

Deleted

Отличный вопрос! Не люблю плагины для сниппетов, а использую autocmd. Вот пример:

autocmd FileType html inoremap ,b <b></b><Space><++><Esc>FbT>i
autocmd FileType html inoremap ,it <em></em><Space><++><Esc>FeT>i
autocmd FileType html inoremap ,1 <h1></h1><Enter><Enter><++><Esc>2kf<i

это с учетом того, что у тебя лидеркей на запятой (указать «leader» вместо «,» не получится, так как подразумевается что ты выполняешь комбинацию из режима ввода, о чем говорит inoremap). Это работает примерно так:

  • Пишешь лидеркей, и сразу нужную комбинацию
  • Выполняются по порядку действия как будто ты вводишь это ручками
  • Жмешь лидеркей 2 раза и курсов перемещается к первому вхождению «<++>» в файле, удаляя «<++>»

Помимо этого у autocmd есть ещё огромное количество возможностей, причем очень интересных. Эта команда:

autocmd BufWritePost *sxhkdrc !pkill -USR1 sxhkd

перезапускает демон хоткеев при сохранении его файла конфигурации. Хуков на различные действия много, используй на здоровье)

Cirno ()
Ответ на: комментарий от Cirno

Шикарно! Да, я тоже не очень люблю плагины. Хочется научится самому написать плагины для neovim'а. А в плане у меня есть подучить их api и сам язык lua. А что ты написал по ходу называется abbreviations, не? А можно ли его как отдельно вынести в отдельную папку с аббревиатурами?

Deleted ()
Ответ на: комментарий от Deleted

Аббревиатуры что-то другое как я понимаю. Вот документация именно по autocmd.

Указать кастомный путь до файла конфигурации можно очень просто:

source /path/to/file
Cirno ()
Ответ на: комментарий от Deleted

Да, я тоже не очень люблю плагины. Хочется научится самому написать плагины для neovim’а.

Штоа?

А можно ли его как отдельно вынести в отдельную папку с аббревиатурами?

source dir/abbreviations.vim

habamax ★★★ ()
Ответ на: комментарий от LINUX-ORG-RU

не то )))), хотел сказать не очень люблю плагины от других людей. свою хочется создать, а не у других юзать.

Deleted ()
Ответ на: комментарий от Deleted

Ну не грех тогда глянуть как у них сделано что бы понять принципы =)

LINUX-ORG-RU ★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.