2013-07-31 2 views
1

У меня есть странная ошибка, я не могу получить красивые цвета ls при использовании основной оболочки emacs. В то время как я пытался прибегая к помощи моей Bashrc поиска, который определяет вектор цвета (который работает для моих других внешних оболочек), я попытался добавитьКак я могу исправить цвета оболочки в Emacs?

(autoload 'ansi-color-for-comint-mode-on "ansi-color" nil t) 

моего .emacs, ни один из которых помогли.

Я тогда заметил какое-то странное поведение. Когда я запускаю оболочку, выйдите из процесса, а затем запустите другую оболочку в том же буфере, цвет имени хоста из предыдущего сеанса изменится.

enter image description here Я понятия не имею, что отсюда! Есть идеи?

Я бегу GNU Emacs для OSX версии 24.3.50.1

+1

Можете ли вы получить ls для отображения цветов в обычной оболочке (я подозреваю, что проблема заключается в том, что OSX использует BSD ls, который не отображает цвета, в то время как Linux использует GNU ls) – Mark

+0

К сожалению, я получаю цвета в своем обычном терминале. Я обычно alias ls, чтобы иметь аргументы -GFh (не в примере, отправленные), отображается -F, но нет цветов:/ – Chironex

+1

Что произойдет, если вы используете 'ansi-term' или' term' вместо 'shell'? – Francesco

ответ

0

Попробуйте запустить ls --color=always; ls не может признать, что цвета доступны, и это будет говорить, что они будут использовать их в любом случае. Если это работает, то простой способ использовать это все время - определить псевдоним: alias ls='ls --color=always (обратите внимание, что псевдонимы - это функция Bash, а не функция Emacs). Вероятно, у вас уже есть псевдоним или два, определенные в вашем профиле Bash, поэтому может быть просто редактирование этого, чтобы сделать изменение постоянным.

+0

Как отметил Марк, OSX использует BSD, поэтому ls не принимает --color = всегда, он принимает -G, который позволяет цвет, но запуск ls -G в оболочке emacs не дает цветов. – Chironex

+0

Хороший улов, я проигнорировал эту деталь. – db48x

0

С помощью команды this question, я смог найти его, просто экспортировав TERM=xterm-256color в ~/.emacs.d/init_bash.sh. Совсем не играли с этим, но теперь это похоже на то, что нужно. Может быть, это сработает для вас.

Смежные вопросы