При работе с шаблонами Jinja и YAML для конфигурации Ansible я часто копирую и вставляю имя переменной (скажем, nginx_root
), а затем мне нужно заключить его в двойные фигурные скобки: {{ nginx_root }}
. Это неудобно делать вручную, поэтому я хочу иметь возможность ввести привязку клавиши Vim, чтобы заключить текущее слово под курсором в двойные фигурные скобки.
С помощью плагина vim-surround я могу добавить нужные фигурные скобки к слову под курсором через ysiw}lysiw{
, но это намного больше, чем я бы предпочел. Я пробовал следующую привязку клавиш Vim, но ее вызов в обычном режиме не дает никакого видимого эффекта:
" Wrap text under cursor with double curly braces (e.g., for Jinja variables)
nnoremap <C-J> ysiw}lysiw{
Итак, мои вопросы:
Используя стандартные функции Vim, плагин vim-surround и/или любую другую комбинацию инструментов, как можно связать клавишу, которая будет переносить текущее слово под курсором с помощью двойных фигурных скобок с пробелами? например,
nginx_root
→{{ nginx_root }}
Есть ли способ добиться этого и в режиме вставки, когда курсор находится справа от слова? (
nginx_root*
, где*
— позиция курсора)Как связать клавишу (предпочтительно доступную как в обычном режиме, так и в режиме вставки) для вставки
{{ * }}
в текущую позицию курсора, где*
— позиция курсора после вставки? (Это облегчило бы ввод новых переменных Jinja, а не работу с переменными копирования + вставки, как указано выше.)