tcsh で複数行プロンプトを正しく定義してください。

tcsh で複数行プロンプトを正しく定義してください。

prompt入力をtcsh複数行に設定しようとしています(たとえば、1行はシステム情報を提供し、次の行はコマンドを入力する行です)。

現在私は以下を持っています:

set prompt="(remote) ${green}%n ${green}@ %m ${cyan}%~ ${white} ${end}"

%{\n>%}最後に追加し、他の同様のバリエーションを追加して複数行にすることができましたが、これは私の仕事を混乱させました。bindkeys

set prompt="(conda) ${green}%n ${green}@ %m ${cyan}%~ ${white} %{\n>%} ${end}"

これを正しく実行する方法についてのアイデアはありますか?

参考として重要な場合、私は次のようbindkeysになります。

bindkey "^n" history-search-forward
bindkey "^p" history-search-backward
bindkey "^r" i-search-back
bindkey "^s" i-search-fwd

ベストアンサー1

私はこのプロンプト定義にいくつかの問題があると思います。

  1. 色を使用するときは、${end}エスケープシーケンスの後にスペースを入れる必要があります(これはインタプリタがエスケープシーケンスを正しくオフにするためのものです)。
  2. %{\n>%}\n%{>%}またはちょうどに変更する必要があります\n>

したがって、最終プロンプトは次のようになります。

set prompt="(conda) ${green}%n ${green}@ %m ${cyan}%~ ${white} \n> ${end} "

おすすめ記事