解决linux下emacs内部shell提示符乱码的问题

在emacs内部打开shell(M-x shell),如果$PS1或$PROMPT_COMMAND含有控制字符(比如颜色)会出现乱码。

网上有几中解决办法都不中意,突然想到emacs会不会设置一些环境变量?

env后果然,当在emacs中打开shell会有$INSIDE_EMACS这个环境变量,我们就可以根据它在.bashrc设置相应提示符了,

我的配置如下:

if [ ! ${INSIDE_EMACS+'inside_emacs'} ]; then
  #非emacs环境运行时的提示符
else
  #emacs中运行shell时
  export PROMPT_COMMAND=''; (清空,反正也没啥用)
  export PS1="\$? [emacs] \w \$ "; (提示符)
fi

 

 

posted @ 2013-06-12 18:31  reaper.spring  阅读(686)  评论(0)    收藏  举报