Bash

Emacs shell 模式讓 $PS1 與眾不同

  • September 1, 2013

我的命令行上有一個自定義的 $PS1 變數,如下所示:在此處輸入圖像描述

不幸的是,在 emacs 上使用M-x shell看起來像這樣:在此處輸入圖像描述

這是我的 $PS1 變數export PS1='\[\e]0;\u@\h: \w\a\]\[\e[0;36m\]\T \[\e[1;30m\]\[\e[0;34m\]\u@\H\[\e[1;30m\] \[\e[0;32m\]\[\e[1;37m\]\w\[\e[0;37m\] \$ '

如何使 Emacs shell 模式與我的 CLI 變數看起來相同?

將設置的標題部分留給支持它的終端:

case $TERM in
 (xterm*) set_title='\[\e]0;\u@\h: \w\a\]';;
 (*) set_title=
esac
PS1=$set_title'\[\e[0;36m\]\T \[\e[1;30m\]\[\e[0;34m\]\u@\H\[\e[1;30m\] \[\e[0;32m\]\[\e[1;37m\]\w\[\e[0;37m\] \$ '

您有一些命令PS1可以設置終端視窗的標題。這些使emacs外殼感到困惑。將您更改PS1為此應該可以:

export PS1='\[\e[0;36m\]\T \[\e[0;34m\]\u@\H \[\e[1;37m\]\w\[\e[0;37m\] \$ '

引用自:https://unix.stackexchange.com/questions/89054