如何使 ls –color 中的藍色目錄變亮?
我看到另一種深藍色…-Q 有同樣的問題:
而不是兩種藍色(正常和明亮/粗體),我只有一種非常難以閱讀的所謂“粗體藍色”。普通的藍色更糟糕,幾乎看不見。
我不想更改 LS_COLORS。我確實想要藍色的目錄,但要更亮。我不希望它們是洋紅色或綠色的。
在 dircolors 的輸出中,我看到幾十個副檔名(tar、tgz、mp3)編碼為亮紅色或洋紅色。像目錄這樣基本的東西在午夜的藍色中完全消失了!
它已經設置為明亮:
`DIR 01;34 # directory`
或與
dircolors -b
:LS_COLORS='...di=01;34...'
在 XTerm 中我可以
*VT100*color12: SkyBlue2
在app-defaults/
文件中設置。但是對於控制台?核心只給了我 16種預定義的ANSI 顏色!我是否必須重新編譯核心才能更改控制台的這些 RGB 定義?這種海軍藍必須在某處編碼!
/* 在第一個答案之後添加 */
我按照建議嘗試
echo -en "\e]PCrrggbb"
了:這行得通!這真的很特別——括號是相反的。手冊頁中的“應該是 OSC”…謝謝!dirkt 的答案中的連結也
setvtrgb
作為第二種解決方案。數字沙拉,但沒有轉義碼。這兩種方法是否相同?
我承認我有這樣的答案(來自kernel.org 參數列表:
vt.default_blu= [VT] Format: <blue0>,<blue1>,<blue2>,...,<blue15> Change the default blue palette of the console. This is a 16-member array composed of values ranging from 0-255.
我從來沒有試過這個。現在我想我從來沒有真正理解它!我確信它有效。但是您不想重新啟動等只是為了找到合適的調色板。
無論如何,這個想法和格式類似於我調整 16 種控制台顏色的預設解決方案:
setvtrgb
來自包“kbd”(其中還包含 chvt、loadkeys、showkeys…)
setvtrgb
跟踪顏色 1 到 16 和 RGB 從 0 到 255 (也)有點困難,但效果是即時和永久的 - 並且同時適用於所有虛擬終端 - “系統範圍”一些使用者似乎感到困惑。幫助 說:
To seed a valid FILE: cat /sys/module/vt/parameters/default_{red,grn,blu} > FILE
這一行對這三個 sysfs 文件進行了大括號擴展。您將其粘貼、編輯文件並載入它以查看新顏色的外觀。(製作一個副本,否則您必須重新啟動才能恢復預設值)。
我昨天在這個LS_COLORS 導出中顯示了文件
現在dirkt提出的解決方案:
echo -en "\e]PCrrggbb"
這是一個“特殊”的 linux(非 CSI)轉義序列。“C”是#12(粗藍色)的十六進制。
這個設置是針對每個tty的——您可以在每個 tty 上使用不同的調色板!比我要求的還要多!
這不僅僅是關於幻影藍色目錄,以及 vim 中的所有藍色內容,直到最後一行下方的藍色波浪號。
我還減少了正常(白色)和粗體白色之間的差異。手冊頁充滿了兩者,對於語法突出顯示,我使用普通白色作為註釋,使用粗體白色作為程式碼。現在我可以輕鬆閱讀灰色,而白色不會傷害(和傷害)我的眼睛。
man 4 console_codes表示這
ESC ] P nrrggbb
是一個轉義序列,用於設置顏色 n 的 RGB 值。這個答案顯示了一個小的shell腳本來改變所有的顏色,所以對於顏色12,沿著線
echo -en "\e]PC7373C9" # blue
(當然,使用您想要的 RGB 值)應該可以工作。
(還可以考慮查看應該出現在 EDID 中的顯示器的伽馬值或顏色特徵,並確保它們被您的驅動程序拾取。這通常是標準顏色在顯示器上不起作用的原因特定的監視器)。