2014-02-12 2 views
1

Я использую Emacs Live. Как я могу настроить emss ansi-term для разрешения оболочки входа? Когда я пытаюсь переключить rvm gemsets, я получаю следующее сообщение:Emacs ansi-term как оболочка для входа

RVM is not a function, selecting rubies with 'rvm use ...' will not work. 
    You need to change your terminal emulator preferences to allow login shell. 
    Sometimes it is required to use `/bin/bash --login` as the command. 
    Please visit https://rvm.io/integration/gnome-terminal/ for a example. 

Спасибо!

+0

Я думаю, что у меня была такая же проблема, когда я пытался Ruby некоторое время назад. Добавьте эту строку в свой '~/.bashrc':' PATH = $ PATH: $ HOME/.rvm/bin' –

+0

Голосование, чтобы оставить открытым, поскольку Emacs и RVM определенно являются «программными инструментами, обычно используемыми программистами», согласно [help/on-topic]. – legoscia

ответ

-3

Когда Mxansi-term спрашивает, какая программа для запуска, вы должны заменить унаследованное значение по умолчанию,:

/bin/bash --login 

до удара RET

+0

Когда я делаю так, ansi-term не запускается, он просто остается в буфере, в котором я запускал эту команду. –

+0

Что делать, если вы используете стандартную версию emacs без конфигурации Emacs Live ('emacs -q' или' emacs -Q')? – Francesco

+2

'ansi-term' не анализирует аргументы для оболочки. – DGrady

2

Я обнаружил, что, если я добавлю следующую строку , Emacs найдет RVM как функцию и перестанет жаловаться.

# Load RVM into a shell session *as a function* 
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" 
Смежные вопросы