vim - не распознает псевдонимы в интерактивном режиме?

Тот же вопрос, что и Команды, выполняемые из 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.

21
задан Community 23 May 2017 в 11:54
поделиться