首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >tcsh的彩色手册页?

tcsh的彩色手册页?
EN

Stack Overflow用户
提问于 2011-02-08 13:16:34
回答 2查看 1.6K关注 0票数 6

我真的很喜欢彩色的手册页,它可以通过

代码语言:javascript
复制
export LESS_TERMCAP_mb=$'\E[01;31m'
export LESS_TERMCAP_md=$'\E[01;31m'
export LESS_TERMCAP_me=$'\E[0m'
export LESS_TERMCAP_se=$'\E[0m'
export LESS_TERMCAP_so=$'\E[01;44;33m'
export LESS_TERMCAP_ue=$'\E[0m'
export LESS_TERMCAP_us=$'\E[01;32m'

在您的.bashrc或.zshrc中。我的问题是:如何在tcsh中导出这些变量?我不得不在工作中使用tcsh,但无法使其正常工作。我尝试了许多变体,但都不起作用。简单地将export替换为setenv和=替换为“”不会起到作用。但它应该以某种方式起作用。如果我用这个导出集在我的zsh中创建了一个tcsh,我也可以在tcsh中享受彩色的手册页。但这是一个丑陋的变通方法。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-02-08 13:39:50

问题是tcsh没有解释变量名中的转义序列,所以当您尝试用tcsh设置环境变量时,它会以文字\E结束。这里有一种方法可以解决这个问题,使用Bash来解释转义序列,尽管它有点丑陋:

代码语言:javascript
复制
% setenv LESS_TERMCAP_md `bash -c 'echo -en "\e[01;31m"'`
% setenv LESS_TERMCAP_me `bash -c 'echo -en "\e[0m"'`
% setenv LESS_TERMCAP_se `bash -c 'echo -en "\e[0m"'`
% setenv LESS_TERMCAP_so `bash -c 'echo -en "\e[01;44;33m"'`
% setenv LESS_TERMCAP_ue `bash -c 'echo -en "\e[0m"'`
% setenv LESS_TERMCAP_us `bash -c 'echo -en "\e[01;32m"'`
票数 5
EN

Stack Overflow用户

发布于 2011-02-08 18:16:26

实现这一点的方法是使用echotc内置命令,这是tcsh原生的,并且可以移植到不同的终端类型:

代码语言:javascript
复制
setenv LESS_TERMCAP_mb `echotc md; echotc AF 1`
setenv LESS_TERMCAP_md `echotc md; echotc AF 1`
setenv LESS_TERMCAP_me `echotc me`
setenv LESS_TERMCAP_se `echotc me`
setenv LESS_TERMCAP_so `echotc md; echotc AF 3; echotc AB 4`
setenv LESS_TERMCAP_ue `echotc me`
setenv LESS_TERMCAP_us `echotc md; echotc AF 2`

有关termcap代码和颜色代码,请参阅man 5 terminfo

mdenter_bold_mode

meexit_attribute_mode

AFset_a_foreground

ABset_a_background

顺便说一下,要在Bash中完成此操作,请使用外部实用程序tput和terminfo功能名称:

代码语言:javascript
复制
export LESS_TERMCAP_mb=$(tput bold; tput setaf 1)
export LESS_TERMCAP_md=$(tput bold; tput setaf 1)
export LESS_TERMCAP_me=$(tput sgr0)
export LESS_TERMCAP_se=$(tput sgr0)
export LESS_TERMCAP_so=$(tput bold; tput setaf 3; tput setab 4)
export LESS_TERMCAP_ue=$(tput sgr0)
export LESS_TERMCAP_us=$(tput bold; tput setaf 2)
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4929839

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档