複数行変数(tcshプロンプト)を別の変数に割り当てる

複数行変数(tcshプロンプト)を別の変数に割り当てる

tcshの場合、複数行のプロンプトがあります。

set prompt = "%/\\
%n@%m[%h]% "

1行目にはcwdが表示され、2行目にはuser / hostが表示されます。ただし、この方法では再現できません。

setenv X "$prompt"
Unmatched ".

virtualenvを使用してPython用の仮想環境を作成すると、自動的に「アクティブ化」スクリプトを生成し、スクリプトの一部として現在のプロンプトを保存し、仮想環境環境情報を含めるように変更するため、これが問題になります。 「無効」スクリプトが呼び出されると、プロンプトが復元されます。

複数行変数を別の変数に割り当てる方法はありますか?

プロンプトを更新するための別名があるため、アクティベーションスクリプトが呼び出されると問題が発生すると思われるので、複数行のプロンプトを捨てる必要があるようです(ずっと前に誰かからこれを得ました)。私の.cshrcファイルから:

alias set_prompt 'set prompt = "%/\\
%n@%m[%h]% "'

alias cd 'cd \!*; set_prompt'

set_prompt

移動時にプロンプ​​トを更新するより良い方法はありますか?しかし、アクティベーションスクリプトを使用してプロンプトを変更することもできますか?以下は、参照用に自動生成されたアクティベーションスクリプトの一部です。

set _OLD_VIRTUAL_PROMPT="$prompt"

if ("" != "") then
    set env_name = ""
else
    if (`basename "$VIRTUAL_ENV"` == "__") then
        # special case for Aspen magic directories
        # see http://www.zetadev.com/software/aspen/
        set env_name = `basename \`dirname "$VIRTUAL_ENV"\``
    else
        set env_name = `basename "$VIRTUAL_ENV"`
    endif
endif
set prompt = "[$env_name] $prompt"

ありがとうございます。

ベストアンサー1

おすすめ記事