h0rr0rr_drag0n 13.06.2009 16:49

VimДерево проектов (project window) в Vim.

При разрастании количества файлов, с которыми приходится работать, неизбежно желание как-то систематизировать все это. IDE позволяют собрать все файлы, относящиеся к одной программе, в один проект, к файлам которого в дальнейшем довольно просто получить доступ через окно дерева проектов в интерфейсе IDE.

В vim'e тоже существует подобная функциональность, реализованная в виде плагина project.



Скачать этот плагин можно здесь: http://www.vim.org/scripts/script.php?script_id=69. Установка его довольно проста - распаковываете содержимое скачанного архива в католог ~/.vim и перезапускаете vim. Перед первым запуском желательно создать файл ~/.vimprojects в котором будет сохраняться вся информация о ваших проектах. Расширение project не создает никаких файлов в каталоге проекта и обходится только вышеуказанным файлом, что есть несомненный плюс.

Окно плагина располагается слева и вызвать его можно командой :Project.







Лично я предпочитаю для этого использовать следующий биндинг в ~/.vimrc:



" Work with vim-projects

nmap <silent> <F9> <Plug>ToggleProject





В приниципе, для добавления нового проекта в дерево проектов можно вручную редактировать файл ~/.vimprojects, что я до недавнего времени и делал. Формат простейшей записи, описывающей проект довольно прост:



имя_проекта=путь к проекту CD=. {

./файл1

./файл2

}





Но еще удобнее для этих целей использовать возможности самого плагина. Для добавления нового проекта можно использовать хоткеи или . Первый добавляет файлы из указанного пути в проект включая подкаталоги, второй - нерекурсивно. Кстати, в gvim'e все вопросы касательно пути к каталогу проекта, его название и т.п. будут заданы в виде красивых гуишных окошечек.







Открыть на редактирование в vim'e файл из окна project, можно просто нажав <Return>, если есть надобность открыть файл в новом окне, расположенном горизонтально, то необходимо использовать хоткей <S><Return>. Если размер окна Project мал для отображения имени нужного файла, то можно увеличить его, нажав <Space>.



Чтобы удалить ненужную запись о проекте, достаточно использовать просто dd =)).



Дополнительную информацию о плагине Projects можно набрав в vim'e :help project.


Тэги: project vim
+ 11 -
Похожие Поделиться

Kraplax 13.06.2009 19:34 #
Что-то я не совсем понял как добавлять файлы к проекту?
Я начинающий vim'ер, я хотел бы иметь возможность редактировать файлы из одно папки, но не хочется добавлять в проект ВСЕ файлы из этой папки. Не хочется мне также и вручную редактировать файл проектов.
Допустим, я открыл для редактирования файл /home/kraplax/FooBar-Project/foo.cpp, понял, что лучше его использовать одновременно в одном проекте с файлом foo.h, но пока что не трогать файл bar.cpp и bar.h из той же директории. Какими командами в обычном (не-GUI) случае мне придется воспользоваться?
И еще было бы неплохо пояснить все параметры в вашем биндинге - я что-то не особо понимаю что и как он делает.
h0rr0rr_drag0n 13.06.2009 23:44 #
Насчет того, как добавить только избранные файлы - я не нашел ответа в хелпах. Видимо простого решения нет. Либо вручную редактировать файл vimprojects, либо добавить все файлы и потом удалить ненужные.
Биндинг взят из :help project :

nmap <silent> <YourHotkey> <Plug>ToggleProject

Он призван закрывать и открывать project window при помощи одной и той же комбинации клавиш.
idler 15.02.2010 00:45 #
Спасибо за пост. Однако хочется уметь закрывать vim со всей кучей открытых табов.
Как это сделать?

Еще http://instanceof.ru/scr/15.02.2010-00.44.33.png - Как переключаться между открытыми файлами?
h0rr0rr_drag0n 15.02.2010 06:02 #
:qa или :qwa

h
h или j нужное кол-во раз.
Enter
h0rr0rr_drag0n 15.02.2010 06:02 #
:qa или :qwa

h
h или j нужное кол-во раз.
Enter