добавление символов до и после выделения

и другие vi-подобные редакторы

Модератор: /dev/random

Аватара пользователя
fractaler
Сообщения: 33
ОС: MOPSLinux 6.1

добавление символов до и после выделения

Сообщение fractaler »

как на какую-нибудь клавишу повесить вставку определенных символов до и после выделенного текста?
Например:
asdfasdfasdf
в
/* asdfasdfasdf */
или в
<p>asdfasdfasdf </p>
Очень хочется повесить на разные клавиши наиболее используемые теги. Убирать их при необходимости только вручную, правильно?
Acer Extensa 5620 & Motorola A1200
Спасибо сказали:

Аватара пользователя
Luinnar
Сообщения: 246
ОС: Solaris, Debian, Ubuntu

Re: добавление символов до и после выделения

Сообщение Luinnar »

fractaler писал(а):
28.03.2008 01:09
как на какую-нибудь клавишу повесить вставку определенных символов до и после выделенного текста?
Например:
asdfasdfasdf
в
/* asdfasdfasdf */
или в
<p>asdfasdfasdf </p>
Очень хочется повесить на разные клавиши наиболее используемые теги. Убирать их при необходимости только вручную, правильно?


У меня вот такой вариант используется:

Код: Выделить всё

" Comment
vnoremap <C-K> da/**/<Esc>hhp
noremap <C-C> ^i/*<Esc>$a*/<Esc>^
inoremap <C-C> <Esc><C-K>a

Ctrl+C в командном режиме комментирует всю строку (чаще всего как раз это и требуется)
Ctrl+K в режиме выделения комментирует выделенное (но иногда это глючит :), так что надо что-то получше придумать...)
Спасибо сказали:

Аватара пользователя
fractaler
Сообщения: 33
ОС: MOPSLinux 6.1

Re: добавление символов до и после выделения

Сообщение fractaler »

Luinnar писал(а):
28.03.2008 15:37
У меня вот такой вариант используется:

Код: Выделить всё

" Comment
vnoremap <C-K> da/**/<Esc>hhp
noremap <C-C> ^i/*<Esc>$a*/<Esc>^
inoremap <C-C> <Esc><C-K>a

Ctrl+C в командном режиме комментирует всю строку (чаще всего как раз это и требуется)
Ctrl+K в режиме выделения комментирует выделенное (но иногда это глючит :), так что надо что-то получше придумать...)

Спасибо! ИМХО, однострочный комментарий всё же лучше делать именно однострочным: '//'. А вот многострочного очень не хватало.
P.S. Когда-нибудь я освою эти непривычные вимовские регулярные выражения! :)
Acer Extensa 5620 & Motorola A1200
Спасибо сказали:

Аватара пользователя
pento
Сообщения: 403
ОС: Fedora 10

Re: добавление символов до и после выделения

Сообщение pento »

Спасибо сказали:

Аватара пользователя
Luinnar
Сообщения: 246
ОС: Solaris, Debian, Ubuntu

Re: добавление символов до и после выделения

Сообщение Luinnar »

fractaler писал(а):
28.03.2008 20:46
Спасибо! ИМХО, однострочный комментарий всё же лучше делать именно однострочным: '//'. А вот многострочного очень не хватало.
P.S. Когда-нибудь я освою эти непривычные вимовские регулярные выражения! :)

В С++ конечно лучше два слэша, а в обычном Си лучше слэш-стар использовать, т.к. // не входит в стандарт.

pento писал(а):
28.03.2008 21:15
fractaler
The NERD Commenter
http://www.vim.org/scripts/script.php?script_id=1218

Загрузил, глянул - первое впечатление приятное. Но вот под вечер обнаружил, что когда несколько строк полностью закоментировать нужно, то этот плагин комментирует их вот так:

Код: Выделить всё

/*int main()*/
/*{*/
  /*int i = 5;*/
  /*printf( "%d\n", i );*/
  /*return 0;*/
/*}*/

:(
Спасибо сказали:

Аватара пользователя
fractaler
Сообщения: 33
ОС: MOPSLinux 6.1

Re: добавление символов до и после выделения

Сообщение fractaler »

Luinnar писал(а):
31.03.2008 18:33
В С++ конечно лучше два слэша, а в обычном Си лучше слэш-стар использовать, т.к. // не входит в стандарт.
Верно, хотя я и забыл об этом. Не встречал ещё компиляторов, не понимающих такой комментарий.
Luinnar писал(а):
31.03.2008 18:33
Загрузил, глянул - первое впечатление приятное. Но вот под вечер обнаружил, что когда несколько строк полностью закоментировать нужно, то этот плагин комментирует их вот так:

Код: Выделить всё

/*int main()*/
/*{*/
  /*int i = 5;*/
  /*printf( "%d\n", i );*/
  /*return 0;*/
/*}*/

:(
О ужас! Спасибо за предупреждение. Впрочем, не вижу смысла использовать плагины там, где хватает регулярных выражений.

А от чего получаются "лишние символы на хвосте" (см.выше) никто не знает? Удобно ведь придумано, комментарий определяется по типу файла...
Acer Extensa 5620 & Motorola A1200
Спасибо сказали:

Аватара пользователя
pento
Сообщения: 403
ОС: Fedora 10

Re: добавление символов до и после выделения

Сообщение pento »

Luinnar писал(а):
31.03.2008 18:33
Загрузил, глянул - первое впечатление приятное. Но вот под вечер обнаружил, что когда несколько строк полностью закоментировать нужно, то этот плагин комментирует их вот так:

Ну ты бы почитал что ли ман для начала и нашёл бы там какая комбинация клавиш комментирует блок полностью в /**/, а она там есть... :)
fractaler писал(а):
31.03.2008 19:52
О ужас! Спасибо за предупреждение. Впрочем, не вижу смысла использовать плагины там, где хватает регулярных выражений.

Не вижу смысла изобретать велосипед там, где есть гораздо более функциональные модели и не уверен, что есть необходимость/желание сделать лучше.
Спасибо сказали:

Аватара пользователя
Luinnar
Сообщения: 246
ОС: Solaris, Debian, Ubuntu

Re: добавление символов до и после выделения

Сообщение Luinnar »

pento писал(а):
31.03.2008 23:58
Ну ты бы почитал что ли ман для начала и нашёл бы там какая комбинация клавиш комментирует блок полностью в /**/, а она там есть... :)

Неужели ты все маны от корки до корки читаешь? :)
Я прочитал сначала, что есть два сочетания (,cc и ,cu), ну и испытал их: ,cc - неприемлимо.
Теперь попробовал все сочетания, вроде бы ,cm - то, что нужно, но им можно коментировать только все строки целиком (до середины строки никак).
В итоге, в этом плагине нет возможности закоментировать кусок от середины одной строки до середины другой.

Не вижу смысла изобретать велосипед там, где есть гораздо более функциональные модели и не уверен, что есть необходимость/желание сделать лучше.

Согласен, но вот только этот плагин пока не полностью функционален. :(
Спасибо сказали:

Аватара пользователя
pento
Сообщения: 403
ОС: Fedora 10

Re: добавление символов до и после выделения

Сообщение pento »

Luinnar
Нууу, мне ещё ни разу не приходилось комментить до середины строки...и вообще достаточно необычная ситуация :)
Имхо, было бы лучше сделать патч на плугин и предложить его автору. Это было бы гораздо полезнее.

Luinnar писал(а):
01.04.2008 11:52
Согласен, но вот только этот плагин пока не полностью функционален. sad.gif

То есть из-за такой вообще говоря необычной и редкой ситуации и писать свой велосипед?..
Спасибо сказали:

Аватара пользователя
Luinnar
Сообщения: 246
ОС: Solaris, Debian, Ubuntu

Re: добавление символов до и после выделения

Сообщение Luinnar »

pento:
Похоже ты прав, что-то я не вижу таких коментариев в своем коде :)
Просто мне, как программисту, хотелось, чтобы эта вещь работала всегда, в не зависимости от того, что ты выделил. Ведь задача-то проста: закоментировать выделенное. Не больше, не меньше.
Спасибо сказали: