2012-02-28 1 views

ответ

2

Плагин surround может это сделать. Для этого вам нужно будет настроить пользовательскую замену. Один из примеров в файле справки окружения фактически делает именно то, что вы хотите. В этом примере говорится добавить строку

let g:surround_61 = "<%= \r %>" 

.vimrc.

В этом на \r является заполнителем для любой текст окружают и 61 в имени переменной означает, что ASCII символ 61 будет ярлык для этого объемного звучания, который =. Чтобы использовать это, вы затем используете одно из привязок окружения и введите = в качестве символа окружающего звучания. Например, команда ysiW= будет окружать текущее слово <%= ... %>. Часть ys является ключевым обязательным для добавления окружающего текста. iW - это движение, которое будет окружено (оно представляет «внутреннее слово»), а затем = - это окружающее пространство, которое здесь настроено как пользовательское окружение.

+2

Для удобства чтения я обычно записываю переменные окружения следующим образом: 'let g: surround_ {char2nr ('=')} =" <% = echo \ r%> "'. Вы также можете сделать это только для буферов с eco filetypes. Я предлагаю вам создать файл с именем '~/.vim/after/ftplugin/eco.vim' и использовать:' let b: surround_ {char2nr ('=')} = "<% = echo \ r%>" ' , «B: var» сделает переменную локальной для буфера не глобальной. –

0

Я хотел добавить дополнительную альтернативу, которую я обнаружил позже, используя snipMate. Я мог бы добавить eco.snippets файл в каталог, содержащий сниппетов:

snippet = 
    <%= ${1} %> 

позаботилась об этом, где я мог бы просто ввести =, а затем tab его в существование.