首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在鱼壳中着色手册页?

如何在鱼壳中着色手册页?
EN

Stack Overflow用户
提问于 2015-12-14 10:55:05
回答 1查看 1.3K关注 0票数 2

描述的bash解决方案在bash中工作很好,但在fish中移植时失败。

鱼群配置

代码语言:javascript
复制
function configure_pager
    # Colored man pages: http://linuxtidbits.wordpress.com/2009/03/23/less-colors-for-man-pages/
    # Less Colors for Man Pages
    set -gx LESS_TERMCAP_mb '\E[01;31m'       # begin blinking
    set -gx LESS_TERMCAP_md '\E[01;38;5;74m'  # begin bold
    set -gx LESS_TERMCAP_me '\E[0m'           # end mode
    set -gx LESS_TERMCAP_se '\E[0m'           # end standout-mode
    set -gx LESS_TERMCAP_so '\E[38;5;016m\E[48;5;220m'    # begin standout-mode - info box
    set -gx LESS_TERMCAP_ue '\E[0m'           # end underline
    set -gx LESS_TERMCAP_us '\E[04;38;5;146m' # begin underline
end

鱼体渲染

我得到的不是颜色,而是未解释的代码: LS(1)用户命令LS(1)

代码语言:javascript
复制
\E[01;38;5;74mNAME\E[0m
       ls - list directory contents

\E[01;38;5;74mSYNOPSIS\E[0m
       \E[01;38;5;74mls\E[0m [\E[04;38;5;146mOPTION\E[0m]... [\E[04;38;5;146mFILE\E[0m]...

\E[01;38;5;74mDESCRIPTION\E[0m
       List information about the FILEs (the current directory by default).  Sort entries alphabetically if none of \E[01;38;5;74m-cftuvSUX\E[0m nor \E[01;38;5;74m--sort\E[0m is specified.

问题

这可能是因为我在fish中对字符串文本变量使用了错误的语法。

代码语言:javascript
复制
set -gx LESS_TERMCAP_mb '\E[01;31m'       # begin blinking

原始bash是:

代码语言:javascript
复制
export LESS_TERMCAP_mb=$'\E[01;31m'       # begin blinking

鱼类颜色编码的正确语法是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-12-14 12:04:26

在bash版本中所做的是ANSI-C引文。这使得bash在将序列设置为变量之前对其进行解释。因此,LESS_TERMCAP_mb不包含文字字符串"\E[01;31m",但其中指定的序列--特别是"\E“是转义字符。

在fish中,您要做的是在引号之外指定转义序列-请参阅fish文档中关于引号的部分

代码语言:javascript
复制
set -gx LESS_TERMCAP_mb \e'[01;31m'

诸若此类。

预览

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34265221

复制
相关文章

相似问题

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