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, а там посмотрим 🙂

Similar Posts

  • Охота

    На выходных был в Ульяновке, ходили на открытие охоту – открыли, жалко только, что ни одной утки даже не видели, не то что подстрелили. Куда интересней было просто погудеть в Ульяновке – какая-то атмосфера там пьянящая. Мы с другом одним выпили по четыре бутылки пива – нас разорвало в клочья. Мы, мягко говоря, были удивлены…

  • Турция ч.3

    На Болгарию Эфорие-Норд – Дуран-Кулак – Несебър – Бургас – Царево – Малко Търново Граница возникла внезапно, вот мы ехали, а вот хлоп, и оказывается, что то, что мы видим – это не придорожное кафе, а пограничный переход, очень небольшой, на две полосы. Share this post: Share on X (Twitter) Share on Facebook Share on…

  • Работа

    На этой неделе “внезапно” свалилось много работы. Обнаружил интересные вещи – если писать код не универсальный (типа для повторного использования), а под конкретную задачу, то выходит быстрее и лучше. В общем тоже прихожу к выводу, что “повторное использование – это миф” (с) Ещё вчера пришло подтверждение, что мы едем на КРИ, тока с жильём непонятно…

  • Новый релиз техно-демо игры

    Наконец добил физику, теперь она намного лучше, чем та пародия, которая была раньше. Теперь это целый физический симулятор с обнаружением коллизий 🙂 лежит тут Share this post: Share on X (Twitter) Share on Facebook Share on LinkedIn Share on Email Share on Reddit

  • Чуток наболело (С++)

    Давно я, что-то не постил ничего 🙂 Вот читаю я разные форумы, каналы чатов и возникает у меня вопрос – почему так много людей зациклились на С++? Это отличный язык для решения своих задач, но когда на нём начинают извращаться метапрограммированием, или пишут адские обёртки, обвязки для типа Pure OOP – зачем? Если очень хочется…