1. ホーム
  2. c

[解決済み] UNIXのターミナルアプリケーションのカラーテキスト [重複]。

2022-05-13 17:49:33

質問

私は、viのようなUNIX用の最初のテキストエディタのような、ターミナルのテキストエディタを書き始めました。目標はただ一つ、ソースコードを編集するためのシンタックスハイライトができるように、テキストを色で表示できるようにしたいです。

どうすればこれを実現できるでしょうか。このための特別な POSIX API があるのでしょうか、それとも ncurses を使用しなければならないのでしょうか。(私はそうしたくありません)。

何かアドバイスはありますか?たぶん、UNIX API に関するいくつかの教科書?

どのように解決するのですか?

これは、カラーコードの使い方を説明する小さな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;
}