Emacsシェルモードは$ PS1を特別にします。

Emacsシェルモードは$ PS1を特別にします。

コマンドラインには、次のカスタム$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シェルモードをCLI変数と同じように見えるようにするにはどうすればよいですか?

答え1

去るタイトル設定これをサポートするいくつかの端末:

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\] \$ '

答え2

コマンドには、PS1ターミナルウィンドウのタイトルを設定するいくつかのコマンドがあります。これらすべてがemacsシェルを混乱させます。次のように変更するとPS1機能します。

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

関連情報