LINUX.ORG.RU

vim: multi-line abbreviations - как?

 


0

1

в старых манах вима и нескольких местах интервебов встречается возможность настроить многострочные аббревиатуры, например вот так:

iab abtest 
\<CR>this is line one
\<CR>this is line two
\<CR>this is line three

(с пробелом после имении аббр.)

или например вот так:

iab head MAINTENANCE HISTORY<CR><C-R>=system("echo -n $(date)")<CR> BASTR-ORIGINAL

но на 7.3.762 версии это не работает. Как запилить?

★★☆
Ответ на: комментарий от Belkrr

iab abtest line1^Mline2

вставляет <CR> вместо собственно перевода на новую строку, а если в аббревиатуре содержится # - вообще ЕГГОГ на старте:

iab #test #line1^M#line2
line  191:
E474: Invalid argument
Press ENTER or type command to continue

если у вас работает (в том числе вариант выше с #) - можно на пасту выхлоп команды :version глянуть.

science ★★☆
() автор топика
Последнее исправление: science (всего исправлений: 1)
Ответ на: комментарий от science

:help abbreviations

Аббревиатура не может начинаться с # об этом в самом начале хелпа.

решетки в самой аббревиатуре вставляются нормально.

А вообще, может воспользоваться сниппетами какими?

Belkrr
()
Ответ на: комментарий от Belkrr

не может начинаться с # об этом в самом начале хелпа.

там же в начале говорится, что может, но не более чем:

ab #!r
ab #r
например такое уже да, еггог:
ab #ru
снипетты подойдут конечно, но мне представлялось удобнее это запилить именно аббр.'ми. Окей, буду думать почему у меня не работает хотя-бы то, что работает у вас.

science ★★☆
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.