Как стать автором
Обновить

Vim и Visual Studio

Время на прочтение 3 мин
Количество просмотров 16K
Долгое время я использовал только один текстовый редактор — Vim. Но вот я пришёл на новую работу и ситуация изменилась. Мне было предложено работать над относительно большим (> 300000 строк) коллективным проектом. Проект написан в Visual Studio, в качестве системы контроля версий используется MS Source Safe. Мысль писать в VS мне сразу не понравилось, но, поскольку все остальные условия меня более чем устраивали, я согласился.

Несколько дней я поработал в «пустой» VS и понял, что долго так продолжаться не может. Слишком уж неудобным показался редактор студии после нескольких лет регулярного использования Vim. И я начал искать способ продолжать работу над проектом и при этом использовать свой любимый редактор.

Непродолжительный поиск дал следующие варианты частичного решения проблемы.

Вариант 1: ViEmu


viemu.com

Первое что мне пришло в голову — найти плагин, который бы изменил интерфейс тестового редактора студии на Vim-подобный. Такой плагин существует и называется ViEmu. Сразу замечу, что он поддерживает далеко не все возможности Vim.

Плюсы ViEmu
  • Элементарная установка
  • Безглючная работа внутри VS
  • Интеграция с IntelliSense и отладчиком

Минусы ViEmu
  • По умолчанию работают не все хоткеи, их надо настраивать вручную
  • Минимальное количество настроек
  • Нет поддержки скриптов и, соответственно, плагинов
  • Наверняка ещё много чего не поддерживает (использовал его недолго, поэтому подробный список привести не могу)
  • Стоит денег (около 100$ за персональную лицензию)

Короче говоря, ViEmu реализует базовую функциональность Vim, не мешая использовать весь функционал VS. Но, что для меня главное, ViEmu — это не Vim. Поиграв с ViEmu несколько дней, я от него отказался. Слишком уж меня раздражало, когда я на автомате вводил Vim'овские команды или нажимал хоткеи, которые ViEmu не поддерживает и каждый раз недоумевал, почему ничего не работает. Таким образом, ViEmu — это не лучшее решение для пользователя Vim с большим опытом. Он должен хорошо подойти людям, которые хотят научиться использовать Vim, не отказываясь при этом от привычной среды разработки, а также людям, которые в повседневной работе используют только базовый функционал Vim.

Вариант 2: ViVim


code.google.com/p/vivim

ViVim — это ещё один плагин к VS, который использует принципиально другой подход по сравнению с ViEmu. Он просто позволяет запустить GVim внутри окна Visual Studio. После его установки в диалоге «Open with» студии появляется пункт «Vim Editor». Там же можно назначить Vim редактором по умолчанию. На мой взгляд это — наиболее простое и правильное решение проблемы, однако его реализация далеко не идеальна. На моём компьютере ViVim не раз зависал и даже обрушивал VS. Если ViVim немного доработают, я обязательно буду его использовать. Пока же я решил поискать другие варианты.

Плюсы ViVim
  • Полная поддержка всех возможностей Vim
  • Работа внутри окна VS

Минусы ViVim
  • Глюки
  • Отсутствие возможности использовать функционал VS непосредственно внутри Vim (хотелось бы хотя бы компилировать проект и просматривать список ошибок командой Vim'а)

Таким образом, ViVim основан на правильной идее, но пока сыроват.

Вариант 3: скрипт visual_studio.vim


www.vim.org/scripts/script.php?script_id=864
Если предыдущие два метода были реализованы как дополнения к VS, то данный является дополнением к Vim. Работает он следующим образом: нужно запустить Visual Studio, открыть в ней проект, затем запустить Vim, выполнить в нём специальную команду, скрипт найдёт запущенную студию и будет обращаться к ней чтобы скомпилировать проект.

Плюсы visual_studio.vim
  • Возможность писать код и компилировать внутри Vim'а

Минусы visual_studio.vim
  • Необходимость держать VS запущенной
  • Отсутствие интеграции с MS SourceSafe, IntelliSense, отладчиком

Возможно, стоит попробовать использовать ViVim совместно с visual_studio.vim.

Вариант 4: Compiler files


www.vim.org/scripts/script.php?script_id=524
www.vim.org/scripts/script.php?script_id=1437

Последний вариант — самый радикальный. Можно просто редактировать файлы в Vim и запускать VS вместо make только для компиляции проекта.

Плюсы
  • Можно работать над проектом, не выходя из Vim и не запуская VS вручную

Минусы
  • Помимо возможности компиляции никакая интеграция с VS не осуществляется


Итак, есть несколько способов работать с проектами VS с помощью Vim. Ни один из них не является идеальным. Я для себя пока не выбрал, какой способ использовать. Если вы знаете другие способы — напишите пожалуйста в комментариях.

UPD: Этим постом я не хотел показать, что Visual Studio хуже Vim или наоборот. Я хотел лишь хотел показать, как можно использовать привычный интерфейс там, где он изначально не предусмотрен.
Теги:
Хабы:
+22
Комментарии 199
Комментарии Комментарии 199

Публикации

Истории

Ближайшие события

Московский туристический хакатон
Дата 23 марта – 7 апреля
Место
Москва Онлайн
Геймтон «DatsEdenSpace» от DatsTeam
Дата 5 – 6 апреля
Время 17:00 – 20:00
Место
Онлайн