VIM: вставьте пустые теги ERB

Как я могу вставить пустые теги ERB и поместить курсор внутри него? Это похоже на окружение плагином объемного звучания, но окружать нечего.

Например, из этого:

bla|bla

Я хочу получить это:

bla<%= | %>bla

2 ответа

Решение

Я бы использовал плагин Тима Попа для достижения этой цели.

Добавьте следующее к вам ~/.vim/after/ftplugin/erb.vim

let b:surround_{char2nr('=')} = "<%= \r %>"
let b:surround_{char2nr('-')} = "<% \r %>"

Теперь, когда вы нажимаете <c-s>= это будет вставить <%= | %> как ты и хотел.

Возможно, вы также захотите взглянуть на плагин Tim Pope's ragtag, в который уже включены такие сопоставления.

Чтобы вставить предопределенный блок текста, вы должны взглянуть на Snipmate. Он вставит код и поместит курсор в предопределенную позицию.

Я не уверен, что ERB поддерживается, но очень легко добавить свои собственные фрагменты.

Например, что-то вроде:

snippet ta
     <%= ${1} %> 

в erb.snippets следует вставить текст при наборе текста ta

Тем не менее, вы можете найти множество фрагментов для Snipmate онлайн.

Например, https://github.com/scrooloose/snipmate-snippets содержит множество предопределенных фрагментов.

Смотрите предыдущий ответ о том, как их установить.

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