zoukankan      html  css  js  c++  java
  • linux终端中输出彩色字体(C/SHELL)

    这几天在用libvlc的时候看到它在terminal里面输出彩色字体觉得挺好玩的,以为是用ncurses实现的,后来一查原来用ANSI C的转义字符就可以实现,不过好现只在linux下有效吧, windows神马的貌似不行,把项目终端凌乱的输出信息整理了一下,关键字符也都用彩色显示,看上去舒服多了,写一下用法以防止以后忘了再去查。

    先把控制码列出来(从网上搜来的):

    \033[0m               关闭所有属性
    \033[1m                       设置高亮度
    \033[4m                       下划线
    \033[5m                        闪烁
    \033[7m                        反显
    \033[8m                        消隐
    \033[30m----\33[37m 设置前景色
    \033[40m----\33[47m 设置背景色
    \033[nA                        光标上移n行
    \033[nB                       光标下移n行
    \033[nC                       光标右移n行
    \033[nD                       光标左移n行
    \033[y;xH                     设置光标位置
    \033[2J                        清屏
    \033[K                         清除从光标到行尾的内容
    \033[s                          保存光标位置
    \033[u                          恢复光标位置
    \033[?25l                      隐藏光标
    \033[?25h                     显示光标 
    背景色:
    40:黑 41:深红 42:绿 43:黄色 44:蓝色 45:紫色 46:深绿 47:白色
    前景色:
    30:黑 31:红 32:绿 33:黄 34:蓝色 35:紫色 36:深绿 37:白色

    控制字符是打开某种样式,输出完成时需要再关闭样式才能使terminal恢复到原来状态,简单例子:

    printf("\e[32m%s\e[0m\n", "hello world");

    \033\e是一回事,使用\e会更简单一些,输出为绿色字体,如下图:

    \e[32m为打开绿色前景色样式,\e[0m为关闭所有样式,如果未关闭,则所有输出字体均为绿色前景色,如下代码:

    	printf("\e[32m%s\n", "hello world");

    输出效果如下:

    绿色高亮代码如下:

    printf("\e[32m\e[1m%s\e[0m\n", "hello world");

    输出效果如下:

    另外光标移动的控制码在输出类似于下载进度的信息时用得到。

    在shell中也可以直接用echo输出,需要加-e选项打开转义字符解释,如输出高亮的绿色字体为:

    echo -e "\e[32m\e[1mhello world\e[0m"

    其它的我也没怎么看,觉得也就改变字体颜色和移动光标位置能用得到,觉得挺好玩的就写下来以后忘了查一查。

    原创文章,转载请注明: 转载自basic coder

    本文链接地址: http://basiccoder.com/output-colorful-words-in-terminal.html

  • 相关阅读:
    函数传参-修改文本
    函数传参-商品计价
    嵌套选项卡自动播放
    仿淘宝自动播放菜单栏
    仿淘宝侧边栏菜单
    图片自动切换
    定时器应用-页面弹出广告
    转:Java面试题集(1-50)
    转:115个Java面试题和答案——终极列表(上)
    毕向东day01笔记--dos-jdk-jre-环境变量等
  • 原文地址:https://www.cnblogs.com/hnrainll/p/2095912.html
Copyright © 2011-2022 走看看