将颜色应用于终端输出以突出显示 URL 和其他

将颜色应用于终端输出以突出显示 URL 和其他

我正在寻找一种应用颜色来突出显示 URL 的方法(http://....) 和 IP @ 在终端命令的输出中。

示例是使用 wget 命令,我希望能够以特定颜色输出 URL,以便更容易阅读。

最好能够对 IP@ 和其他重要信息进行同样的操作以突出显示。

我已经为此苦苦挣扎了一段时间,但无法找到解决方案。

我在 MAC 上使用 iTerm 2 和 oh-my-zsh

答案1

将颜色应用于终端输出...

对于任何正在寻找一种简单方法(在我看来)为 Linux 中的终端文本着色的人

# yeah  i know... it's csh... if you need bash the syntax is simply red='<colorcode>'

# i have not experimented with other colors, these have always been enough for me.

setenv RED         '\033[0;31m'
setenv BOLDRED     '\033[1;31m'
setenv GREEN       '\033[0;32m'
setenv BOLDGREEN   '\033[1;32m'
setenv ORANGE      '\033[0;33m'
setenv YELLOW      '\033[1;33m'
setenv BLUE        '\033[0;34m'
setenv BOLDBLUE    '\033[1;34m'
setenv PURPLE      '\033[0;35m'
setenv BOLDPURPLE  '\033[1;35m'
setenv CYAN        '\033[0;36m'
setenv BOLDCYAN    '\033[1;36m'
setenv WHITE       '\033[0,37m'
setenv BOLDWHITE   '\033[1,37m'

# turn color off,  i.e. nocolor
setenv NC          '\033[0m'

# example

echo "${RED}This text is in red.${NC}  This text is now back to whatever the previous color was."

# change my csh/tcsh prompt, and only the prompt, to cyan color that is `[username@host cwd] : ` with all text afterward the default shell color.

set prompt="${CYAN}[%n@%m %~] : ${NC} "

因此,通过上述变量设置,它们都可以是 bash 脚本的本地变量,例如,您只需在 echo 语句或 printf 等中的任何文本前面加上 ${COLOR} 并将 ${NC} 附加到您的 bash、csh 脚本或 .c 或 .f 程序

答案2

关于答案这个问题,实际上有人分叉的 zsh-syntax-hightighting并创建了一个灵活的功能来根据 zsh 上的图案和许多内容进行着色。

你可能会检查这个答案以及。不知道这是否会让你的重复,但是哦,好吧。虽然老了,但是可以尝试一下超级猫因为它与正则表达式一起使用,所以你可以匹配 URL 并为它们着色。

答案3

在“首选项”->“配置文件”->“高级”中,您可以设置触发器;也就是说,如果遇到某个正则表达式,它可能会采取诸如突出显示文本之类的操作。

请注意:不幸的是,它会显着减慢 iTerm 的速度。

我不确定这个功能是什么时候出现的,它可能只出现在最新的测试版中。

相关内容