2011-10-20 2 views
1

в vimrc, если яvim abbr: как остановить создание новой строки?

iab YBK \left<\right><Left><Left><Left><Left><Left><Left><Left> 

тогда, когда я печатаю YBK у меня будет

\left< 
_\right> 

где _ является где курсор остается. Это довольно много, что я хочу, за исключением того, что ВИМ автоматически генерирует разрыв строки до позиции курсора, как то, что я хочу

\left< _ \right> 

Итак, как избежать неудобств разрыва строки? Благодарю.

+1

Я не могу воспроизвести это поведение. Какой стиль окончания строки вы используете в файле '.vimrc'? –

+0

@ib. интересно. Есть ли команда, показывающая стиль окончания строки, используемый vim? для меня это просто латексная среда, поэтому я не уверен, что конфигуратор синтаксиса латекса был виновником. – nye17

ответ

2

посмотреть на surround.vim. Я думаю, вы можете расширить его своими собственными «открытыми/закрытыми» парами. Он уже имеет такое поведение для нескольких типов пар. Два примера, чтобы зажечь интерес:

  • vSC-] (компрессы в { ... } с новой строкой вокруг него и отступов в соответствии с типом файла настройки отступа

  • vSC- <paraВвод (обертывания в <para> ... </para>), пример:

.

the quick fox jumped over 

(положение курсора на q в быстрого нажмите v2eSC- <paraВведите

Результат:

the <para> 
    quick fox 
</para> jumped over 
Edit

Оказывается т шляпа, возможно, вы хотели, чтобы это было наоборот - без linebreaks. Ну тогда используйте vs<paraВведите или vS{ соответственно, которые по умолчанию не вставляют разрывы строк

+0

Спасибо за предложение. Я предпочитаю решение, которое не содержит плагинов, если нет встроенного способа сделать это с помощью 'abbr', но я дам плагин, если это невозможно. – nye17