Этот простой скриптик может пригодиться когда хочется, ничего специально не настраивая, запустить проект на выполнение прям из Vim по клавише F5, когда открыт файл из любой поддиректории.
Принцип работы
В .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 есть простой способ сделать это, о котором я не знаю. Буду признателен, если читатель в комментариях поделится как он решает данную задачу в своих проектах.
Спасибо за внимание.
Автор: makoven