UNIX のターミナル アプリケーションでテキストに色を付ける [重複] 質問する

UNIX のターミナル アプリケーションでテキストに色を付ける [重複] 質問する

私は、vi のような UNIX 用の最初のテキスト エディターのようなターミナル テキスト エディターを書き始めました。私の唯一の目標は楽しい時間を過ごすことですが、ソース コードを編集するときに構文を強調表示できるように、テキストをカラーで表示できるようにしたいと考えています。

これを実現するにはどうすればいいでしょうか? これには特別な POSIX API があるのでしょうか、それとも ncurses を使う必要があるのでしょうか? (できれば使いたくないのですが)

何かアドバイスはありますか? UNIX API に関する教科書などはどうでしょうか?

ベストアンサー1

これは、カラーコードの使用方法を示す小さな C プログラムです。

#include <stdio.h>

#define KNRM  "\x1B[0m"
#define KRED  "\x1B[31m"
#define KGRN  "\x1B[32m"
#define KYEL  "\x1B[33m"
#define KBLU  "\x1B[34m"
#define KMAG  "\x1B[35m"
#define KCYN  "\x1B[36m"
#define KWHT  "\x1B[37m"

int main()
{
    printf("%sred\n", KRED);
    printf("%sgreen\n", KGRN);
    printf("%syellow\n", KYEL);
    printf("%sblue\n", KBLU);
    printf("%smagenta\n", KMAG);
    printf("%scyan\n", KCYN);
    printf("%swhite\n", KWHT);
    printf("%snormal\n", KNRM);

    return 0;
}

おすすめ記事