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.
Насчет того, как добавить только избранные файлы - я не нашел ответа в хелпах. Видимо простого решения нет. Либо вручную редактировать файл vimprojects, либо добавить все файлы и потом удалить ненужные.
Биндинг взят из :help project :
Он призван закрывать и открывать project window при помощи одной и той же комбинации клавиш.
Биндинг взят из :help project :
nmap <silent> <YourHotkey> <Plug>ToggleProject
Он призван закрывать и открывать project window при помощи одной и той же комбинации клавиш.
Спасибо за пост. Однако хочется уметь закрывать vim со всей кучей открытых табов.
Как это сделать?
Еще http://instanceof.ru/scr/15.02.2010-00.44.33.png - Как переключаться между открытыми файлами?
Как это сделать?
Еще http://instanceof.ru/scr/15.02.2010-00.44.33.png - Как переключаться между открытыми файлами?
:qa или :qwa
h
h или j нужное кол-во раз.
Enter
h
h или j нужное кол-во раз.
Enter
Я начинающий vim'ер, я хотел бы иметь возможность редактировать файлы из одно папки, но не хочется добавлять в проект ВСЕ файлы из этой папки. Не хочется мне также и вручную редактировать файл проектов.
Допустим, я открыл для редактирования файл /home/kraplax/FooBar-Project/foo.cpp, понял, что лучше его использовать одновременно в одном проекте с файлом foo.h, но пока что не трогать файл bar.cpp и bar.h из той же директории. Какими командами в обычном (не-GUI) случае мне придется воспользоваться?
И еще было бы неплохо пояснить все параметры в вашем биндинге - я что-то не особо понимаю что и как он делает.