对于 tcsh,我有一个多行提示:
set prompt = "%/\\
%n@%m[%h]% "
这会在第一行显示 cwd,然后在第二行显示用户/主机。但是,这样我就无法复制它:
setenv X "$prompt"
Unmatched ".
这对我来说是一个问题,因为当我使用 virtualenv 为 Python 创建虚拟环境时,它会自动创建一个“激活”脚本,作为脚本的一部分,它会保存当前提示符并将其更改为包含虚拟环境环境信息。当调用“deactivate”脚本时,提示将恢复。
有没有办法将多行变量分配给另一个变量?
我想我需要放弃多行提示,因为我认为一旦调用激活脚本,我就会遇到问题,因为我有用于更新提示的别名(我很久以前从某人那里得到了这个) 。从我的 .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"
谢谢。