Тот же вопрос, что и Команды, выполняемые из vim, не распознают псевдонимы команд bash, однако решение не помогло.
Я установил эти переменные в ~/.vimrc:
set shellcmdflag=-ic
set shell=/bin/bash\ -i
и у меня есть псевдоним в ~/.bash_aliases:
rgr() { if [ ! -z "$2" ]; then grep -rI --exclude=\*.svn\* "$1" * --include=$2 ; else grep -rI --exclude=*svn* "$1" * ; fi ; }
который работает при выполнении из командной строки, но когда я пытаюсь вызвать его из vim(:!rgr test
) я получаю сообщение об ошибке и vim выходит:
bash: rgr: command not found
[4]+ Stopped vi ~/somefile
Если я отключу интерактивный режим, я просто получу сообщение "command not found" и vim не выходит.
Как я могу заставить vim распознавать мои псевдонимы? Я воспроизвел это поведение как на OS X, так и на Ubuntu.