Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have changed my shell to oh-my-zsh, which is working great in iTerm.

However when I open up my Emacs, M-x shell, I see it also changes to zsh, but the output from executing commands is messy:

➜  Public  ls

Drop Box    Dropbox-Public  tars

➜  Public  ls

Drop Box    Dropbox-Public  tars

➜  Public  

Too many empty lines! I have to change it back to bash using:

(setq explicit-shell-file-name "/bin/bash")

However I want to use zsh, since it has great plugins. For example, I can see which branch I am working on currently directly in the command line using the git plugin.

Is there anyone familiar with zsh and emacs who can help me fix this?

share|improve this question
emacs M-x shell is a dumb terminal, you're not going to have much luck using advanced zsh features in it =/... And just for the record, you can show git branch it bash as well (I think there's a question here on SU about it). – Malabarba Jul 4 '13 at 13:35

My zsh look messy as well with the shell command. ansi-term works better.

If you use the shell from within emacs a lot you could try MultiTerm.

I have used it for a while, but went back to a terminal shell.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.