#vim #vi
#vim #vi
Вопрос:
в vimrc, если я сделаю
iab YBK left<right><Left><Left><Left><Left><Left><Left><Left>
затем, когда я набираю YBK
, у меня будет
left<
_right>
где _
находится курсор. Это в значительной степени то, что я хочу, за исключением того, что vim автоматически генерирует разрыв строки перед позицией курсора, так как я хочу
left< _ right>
Итак, как избежать неприятности разрыва строки? Спасибо.
Комментарии:
1. Я не могу воспроизвести это поведение. Какой стиль окончания строки вы используете в своем
.vimrc
файле?2. @ib. interesting. Есть ли команда для отображения стиля окончания строки, используемого vim? для меня это просто среда latex, поэтому я не уверен, что виновником была конфигурация синтаксиса latex.
Ответ №1:
посмотрите на surround.vim. Я думаю, вы можете расширить его своими собственными парами «открыть / закрыть». Это поведение уже построено для нескольких типов пар. Два примера, которые вызовут ваш интерес:
-
vS
C-] (завершается{
…}
с новыми строками вокруг нее и отступом в соответствии с настройками отступа типа файла -
vS
C-<para
Enter (перенос в<para>
…</para>
), пример:
.
the quick fox jumped over
(наведите курсор на q
in quick, нажмите v2eS
C-< para
Enter
Результат:
the <para>
quick fox
</para> jumped over
Редактировать
Похоже, что, возможно, вы хотели, чтобы это было наоборот — без разрывов строк. Тогда используйте vs<para
Enterили vS{
соответственно, которые по умолчанию не вставляют разрывы строк
Комментарии:
1. Спасибо за предложение. Я предпочитаю решение без плагинов, если только нет встроенного способа сделать это
abbr
, но я попробую плагин, если этот способ невозможен.