Незамысловатый способ запустить проект на исполнение из Vim, из файла любой вложености

в 15:32, , рубрики: bash, vim, Программирование, метки: ,

Этот простой скриптик может пригодиться когда хочется, ничего специально не настраивая, запустить проект на выполнение прям из 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

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js