Vim 預設配色方案中,註釋常以深藍色顯示,在深色背景終端極難辨識。本文提供最簡單的修改方案:單行配置即可將註釋改為高對比度綠色 (或任意顏色),並解釋配色機制與擴展方案。
深色終端下," 這是註釋 顯示為暗藍色,幾乎與背景融合,嚴重影響代碼閱讀效率。
echo 'highlight Comment ctermfg=green guifg=green' >> /etc/vim/vimrc
或編輯 /etc/vim/vimrc (系統級) / ~/.vimrc (用戶級) 直接添加:
highlight Comment ctermfg=green guifg=green
| 參數 | 含義 | 適用場景 |
|---|---|---|
Comment | 語法高亮群組名 (註釋) | 所有語言通用 |
ctermfg=green | 終端前景色設為綠色 | CTERM (256 色/16 色終端) |
guifg=green | GUI 前景色設為綠色 | GVim/MacVim 圖形介面 |
重新開啟 Vim,註釋即變為鮮亮綠色:
若需系統性調整,建議建立專屬 colorscheme:
" ~/.vim/colors/my_dark.vim
set background=dark
highlight Clear
" 基礎群組
highlight Normal ctermfg=white ctermbg=black guifg=#ffffff guibg=#1e1e1e
highlight Comment ctermfg=green ctermbg=NONE guifg=#6a9955 guibg=NONE
highlight Constant ctermfg=cyan ctermbg=NONE guifg=#4fc1ff
highlight String ctermfg=yellow ctermbg=NONE guifg=#ce9178
highlight Identifier ctermfg=blue ctermbg=NONE guifg=#9cdcfe
highlight Statement ctermfg=magenta ctermbg=NONE guifg=#c586c0
highlight PreProc ctermfg=yellow ctermbg=NONE guifg=#dcdcaa
highlight Type ctermfg=red ctermbg=NONE guifg=#4ec9b0
highlight Special ctermfg=cyan ctermbg=NONE guifg=#dcdcaa
highlight Underlined cterm=underline ctermfg=cyan gui=underline guifg=#4fc1ff
highlight Error ctermfg=white ctermbg=red guifg=#ffffff guibg=#f44747
highlight Todo ctermfg=black ctermbg=yellow guifg=#000000 guibg=#ffd700
" 行號、游標行、視覺模式等
highlight LineNr ctermfg=darkgray ctermbg=NONE
highlight CursorLine ctermbg=235 guibg=#2d2d2d
highlight Visual ctermbg=238 guibg=#3e3e4e
" 套用
colorscheme my_dark
black, darkblue, darkgreen, darkcyan, darkred, darkmagenta, brown, gray,
darkgray, blue, green, cyan, red, magenta, yellow, white
# 256 色模式下可用 color0-color255
# GUI 支援 #RRGGBB 十六進制
| 群組 | 作用 | 建議顏色 |
|---|---|---|
LineNr | 行號 | darkgray |
CursorLineNr | 當前行行號 | yellow + bold |
Visual | 視覺模式選區 | bg=darkgray |
Search | 搜尋匹配高亮 | bg=yellow, fg=black |
IncSearch | 即時搜尋當前匹配 | bg=orange, fg=black |
MatchParen | 括號匹配高亮 | bold, fg=cyan |
StatusLine | 狀態列 | bg=blue, fg=white |
VertSplit | 垂直分割線 | fg=gray |
通過單行 highlight Comment ctermfg=green guifg=green 即可徹底解決註釋難辨問題;若追求完整配色體系,建議採用成熟主題 (如 gruvbox、solarized、onedark、tokyonight) 並按需微調。