Задача: по нажатию F5 передавать скрипт разным программам, в зависимости от расширения файла (как это реализовано в SciTE).
Вот пара вариантов ее решения. Просто добавим в ~/.vimrc один из этих блоков.
1) Написание функции:
function Run()
let $ext=expand("%:e")
if $ext=="py"
!/usr/bin/env python "%"
elseif $ext=="php"
!/usr/bin/env php "%"
elseif $ext=="html" | $ext=="mako" | $ext=="htm"
!firefox "%"
endif
endfunction
map <F5> :call Run()
Здесь мы получаем расширение файла % через модификатор :e, присваиваем его переменной $ext, после чего по этому признаку решаем, что будем делать с файлом. Потом привязываем вызов функции к горячей клавише F5.
2) Использование автокоманд:
autocmd BufEnter *.py map <F5> !/usr/bin/env python %
autocmd BufLeave *.py unmap <F5>
autocmd BufEnter *.php map <F5> !/usr/bin/env php %
autocmd BufLeave *.php unmap <F5>
Теперь при редактировании скрипта за F5 закреплена команда запуска, а при потере фокуса эта привязка сбрасывается.
Оба способа имеют право на существование, но я остановился на первом.
P.S. Мой .vimrc
Комментариев нет:
Отправить комментарий