Принцип работы
В .vimrc добавляем map:
nnoremap <F5> <ESC>:w<ENTER>:!me_run %:p:h<ENTER>
Теперь по плавише F5 будет запускаться shell-скрипт me_run, которому передается полный путь директории редактируемого в данный момент файла (%:p:h). Скрипт ищет в этой директории файл runme. Если таковой не найден, переходит на директорию выше и ищет снова, и так далее. Найдя файл runme (файл запуска проекта), он выполняется. По завершении vim даёт посмотреть нам результат выполнения и вернуться в редактор, нажав клавишу ENTER.
Содержимое me_run
#!/bin/bash curPath=$1 cd $curPath while [ "$curPath" != "/" ]; do if [ -e runme ] && [ ! -d runme ] && [ -x runme ]; then ./runme exit fi cd .. curPath=`pwd` done
Заключение
Вероятно, описанная проблема не является проблемой для пользователей разного рода IDE. Вероятно, и в vim есть простой способ сделать это, о котором я не знаю. Буду благодарен, если читатель в комментариях поделится как он решает данную задачу в своих проектах.
Спасибо за внимание.
ссылка на оригинал статьи http://habrahabr.ru/post/187252/
Добавить комментарий