Начало работы с macvim, как управлять проектом?

Я начал с macvim и теперь довольно комфортно с навигацией (в одном файле), и теперь мне нужно написать целый проект (скажем, рельсы) с помощью mvim.

В textmate у вас есть mate project_dir, который открывает проект в боковом ящике, поэтому мой вопрос:

  • Есть ли аналогичная функция в mvim?
  • Как можно полностью управлять проектом в macvim?

Приветствуются ссылки на некоторые рецензии.

Ответ 1

Просто попробуйте использовать Janus. Мне было очень легко переключиться с TextMate.

Ответ 2

Как отметил @changelog, абсолютный лучший способ заставить MacVim вести себя как Textmate - использовать Janus. Janus упаковывает кучу популярных плагинов и обеспечивает простой способ сохранить эти pluggins в актуальном состоянии через rakefile. Janus также включает NERDTree (упомянутый @zengr), а также множество других инструментов, которые делают очень простым управление большим проектом.

Чтобы запустить mvim так, как вы запускаете textmate с помощью mate project_dir, mvim script включен в загрузку MacVim. Вам просто нужно поместить его на свой путь (я держу шахту в /usr/local/bin/mvim). Используя этот script, вы можете сделать то же самое:

mvim project_dir - открыть конкретный каталог в MacVim

mvim . или просто mvim - для открытия текущего каталога в MacVim

Ответ 4

PROJECT действительно потрясающе. Вы можете легко добавить папки в свой проект (одиночные или рекурсивно), указать фильтры и т.д.

Это действительно стоит попробовать.

Ответ 5

Попробуйте :help mksession.

Загрузите все ваши файлы проекта (либо в интерактивном режиме, либо с помощью командной строки vim file1 file2 ...). Запуск :mksession xxx записывает vim script для восстановления среды и загрузки всех загруженных в настоящее время файлов.

В следующий раз просто :source xxx перезагрузите среду (или запустите vim -s xxx, чтобы запустить файл при запуске).

Примечание. Для навигации по исходным файлам (в отличие от файлов данных) ctags, на мой взгляд, является лучшим вариантом. Создайте базу данных ctags (ctags также работает для скриптов Ruby!) И перейдите в свое дерево кода, используя :tag myfunc. Нет необходимости предварительно загружать файлы.