2

Я пытаюсь настроить Vim так, чтобы я мог компилировать код на C непосредственно из самого редактора:

.vimrc:

let $BASH_ENV = "$HOME/.bashrc"

autocmd FileType c map <F6> :!gcc -o "%:p:r.out" "%:." <bar> more<CR>
autocmd FileType c map <F7> :!%:p:r.out <CR>

.bash_aliases:

alias gcc="gcc -lm -ansi -Wall -g -O0 -Wwrite-strings -Wshadow -pedantic-errors -fstack-protector-all"

.bash_aliases получен из .bashrc .

Когда я компилирую что-либо с помощью F6, псевдоним gcc не используется. Как я могу получить vim использовать псевдоним?

Это дополнительный вопрос к моему предыдущему вопросу.

2 ответа2

2

По умолчанию псевдоним отключен в неинтерактивных оболочках.

Поместите следующее в ваш файл .bash_aliases:

shopt -s expand_aliases

(Возможно, вы захотите иметь собственный файл для неинтерактивных оболочек, запускаемых из vim . В вашем файле .bashrc, вероятно, есть много вещей, которых вы не хотите.)

0

Большинство оболочек не используют свой rc-файл (.shrc, .bashrc, .kshrc, .zshrc и т.д.) Для неинтерактивных оболочек, а Vim не вызывает интерактивные оболочки для:! - команд. Если бы это случилось, случились бы плохие вещи ™.

Я бы порекомендовал вместо этого создать настоящий скрипт оболочки, а затем вызвать его из вашего отображения. (И вы можете заставить свой псевдоним оболочки вызывать этот сценарий оболочки.)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .