На тему Vim vs Sublime мне тоже очень хочется много всяких мыслей написать, но не сейчас. А сейчас расскажу как можно организовывать проекты в Vim не хуже, чем в Sublime Text.
У Sublime Text управление проектами организовано очень удобно: проект это файл, в котором описаны вложенные директории, любые настройки (например, отступы или используемый для этого проекта набор линтеров).
Т.к. проекты хранятся в файлах, то очень легко сделать alfred workflow для быстрого доступа к проектам.
Примерно такого же я хотел и от Vim. И вот что получилось:
-
Для работы с проектами в Vim можно использовать сессии. Сессия это файл, такой же как и основной конфиг Vim. Когда он выполняется можно сделать что угодно: установить рабочую директорию, открыть боковую панель с файлами проекта, переключить tags-файлы и т.д. Возможностей даже больше, чем у проектов Sublime. Файлы сессий создаются в ~/.vim/sessions. Для запуска используется vim -S ~/.vim/sessions/project.vim или :source из запущенного инстанса.
-
Для выбора проекта можно использовать плагин startify. Он отображает последние открытые файлы и все сессии из ~/.vim/sessions.
-
Запускать таким образом сессии не очень удобно, поэтому я предлагаю использовать для этого Alfred. Ниже я приложил ссылки на workflow Vim проектов. Просто набираем “vims часть_имени_проекта” и выбираем нужный проект, он откроется в новом окне MacVim.
Простой пример файла проекта:
cd ~/Projects/projectname
set tags=""
set tags+=~/Sites/include/tags
set tags+=~/Projects/projectname/tags
let g:syntastic_php_phpcs_args="--report=csv --standard=/Users/paul/Documents/LSCS/LS"
args app/index.php app/includes/* css/*
edit app/index.php
vertical sb css/default.css