在 tcsh 中正确定义多行提示符

在 tcsh 中正确定义多行提示符

我正在尝试配置我的prompt输入tcsh以使其成为多行(即,一行提供系统信息,下一行是我键入命令的行)。

目前我有以下内容:

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} "

相关内容