Vi iMproved

Напишу-ка я про один из самых интересных текстовых редакторов. Идея появилась после того, как я нашел аддин – интегрирующий основную функциональность в студию.
http://viemu.com/
В связи с моим администраторским увлечением (я занимаюсь небольшим саппортом нескольких серверов фирмы моих знакомых) мне пришлось познакомиться с консолью юникса, а там и с текстовыми редакторами – конфиги-то надо править 🙂
Почитав доки я узнал, что один из самых используемых редакторов – это vi (vim). Запустил я vim httpd.conf, после нескольких нажатий кнопок на клавиатуре я чуть не угробил весь конфиг и крыл матом весь свет – они вызывали совсем не те действия, о которых я думал. С горем пополам я вышел из редактора и решил сначала прочесть по нему доку. Прошло некоторое время и я понял, что для технической работы с текстом – это просто лучшее что есть в мире 🙂
У него есть два режима работы – командный и непосредственно ввод текста.
Первый режим – это именно то, что в виндовсе мы делаем при помощи мышки и иногда клавиатуры – перемещение по тексту, поиск фрагментов, замена, разметка и еще множество всего. Второй режим – это привычный всем ввод текста.
Вся прелесть редактора именно в этом первом режиме. Нажатиями нескольких кнопок можно сделать огромное количество действий, с мышкой – это займет больше времени.
Небольшой пример:
У меня курсор стоит на названии переменной m_vertex; и тут я понимаю, что мне бы хотелось заменить его на m_firstVertex.
Все просто, я нажимаю : и вписываю: %s/m_vertex/m_firstVertex/g
В обычном случае мне пришлось бы сделать следующее: Ctrl-H, клик мышкой в поле ввода искомого текста, ввод слова, Tab, ввод слова, .
Минус второго способа не только в том, что надо работать обоими инструментами ввода, но и в том, что кнопки, которые надо нажимать расположены не очень удобно и по этому приходится отвлекать руки от привычного положения (начальная позиция).
Или очень тривиальный пример. Надо добавить две переменные:
float m_dx;
float m_dy;

в vim – надо набрать первую строку
float m_dx;

перейти в командный режим и нажать yyp (скопировать в буфер строку и вставить ее следующей)
float m_dx;
float m_dx;

после этого перейти в конец слова m_dx и заменить на m_dy.

Подведя итог скажу, что в большинстве своем набор текста программы – это постоянные повторения и замены, используя vim с ними можно справиться значительно быстрее чем используя мышку с клавиатурой в обычном режиме.
Кстати, плюсом этого плагина еще и является то, что можно использовать и привычные средства, которые есть в студии (Ctrl-C, Ctrl-V итд).
Стоимость плагина правда впечатляет, но пока что evaluation period, а там посмотрим 🙂