從 Base16 到 256 色:為什麼終端機應該自動生成擴充色盤?

本篇文章更新時間:2026/02/20
如有資訊過時或語誤之處,歡迎使用 Contact 功能通知或向一介資男的 LINE 社群反應。
如果本站內容對你有幫助,歡迎贊助支持


終端配色的下一步:為什麼 256 色應該由 Base16 自動生成

終端機界的配色痛點,以及一個更聰明的解法

編輯前言:這篇文章來自 Terminals should generate the 256-color palette。如果你曾經試著在終端機中維護一套一致、漂亮又夠用的配色方案,這篇文章會讓你恍然大悟:原來 256 色其實不必那麼混亂。

核心觀點 (Key Takeaways)

  • 只有 Base16 的 16 色太少,而 Truecolor 雖強大但太麻煩;256 色剛好居中卻因預設色盤太糟而被忽視。
  • 預設的 256 色盤與使用者的 Base16 主題衝突、明度不一致,而且插值方式不正確。
  • 最佳解法是:讓終端機自動以 Base16 為基底生成完整 256 色盤,並使用 LAB 色彩空間來確保視覺一致性。

深入解析

作者一開始點出一個經常被忽略的現實:即使我們大多都有 Base16 主題,但只有 16 種色彩實在太侷限。於是我們轉向 Truecolor,卻又遇到另一個問題:每個程式都要求各自獨立的配色設定。這意味著換主題、切深淺色模式,都要手動調整一堆設定檔。

256 色理論上可以提供較大的色域,並避免 Truecolor 那些繁重的維護麻煩,但它的預設實作非常不理想:

"The default theme clashes with most base16 themes."

"The default 216-color cube interpolates incorrectly."

這些問題造成終端程式開發者對 256 色敬而遠之,乾脆只支援 Base16 或 Truecolor。

  • 預設的 216 色立方體插值錯誤:第一階亮度就跳到 37%(理論應是 20%),導致暗色背景上可讀性崩壞。
  • 飽和度不一致:例如預設的藍色永遠比綠色暗,明明它們是同一「shade」。這在 UI 設計上是大忌。
  • 灰階階梯太粗糙:與 Base16 主題完全不搭。

作者提出的關鍵洞察是:既然 Base16 的八種基本色已經代表了色立方體的八個角,那麼所有延伸色應該根據這八點來做三線性插值(trilinear interpolation)。

這樣每一種 256 色都能自然延伸自使用者的主題,達成「所有色彩從同一核心長出來」的效果。

並且作者強調:RGB 插值會產生視覺亮度不一致的結果,因此應採用 LAB 色彩空間進行插值,以確保整體亮度和對比一致。

筆者心得與啟發

閱讀完這篇文章後,我最大的感觸是:我們其實一直在將就終端機的歷史包袱,而不是充分利用現代顯示技術。

256 色之所以被視為過時,不是因為它本身不足,而是因為預設色盤太糟糕。作者的提案讓我意識到:若終端機能自動以 Base16 為基底生成整套 256 色,那麼我們將能:

  • 保有 Base16 的一致性
  • 比 Truecolor 更輕鬆地切換主題(甚至自動切換亮/暗)
  • 讓更多終端應用放心使用 256 色,提升 UI 的表現力

更重要的是,這其實不需要改變任何應用程式的設定檔格式,只需要終端本身「更聰明」地生成色盤。

對於喜歡折騰終端機美學的我來說,這是一個值得大聲疾呼的方向。未來的終端環境若能普及這樣的設計,色彩一致性將不再是麻煩,而是理所當然的體驗。


Share:

作者: Chun

資訊愛好人士。主張「人人都該為了偷懶而進步」。期許自己成為斜槓到變進度條 100% 的年輕人。[///////////____36%_________]

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *


文章
Filter
Apply Filters
Mastodon