## 自訂狀態列
```vim
" ==========================================================
" 狀態列
" ==========================================================
" --- 自定義狀態列顏色 ---
" ctermfg 是文字顏色,ctermbg 是背景顏色 (256 色號)
" StatusNormal: 綠底黑字 (Normal 模式)
hi StatusNormal ctermfg=232 ctermbg=148 cterm=bold
" StatusInsert: 藍底黑字 (Insert 模式)
hi StatusInsert ctermfg=232 ctermbg=039 cterm=bold
" StatusVisual: 橘底黑字 (Visual 模式)
hi StatusVisual ctermfg=232 ctermbg=214 cterm=bold
" StatusMain: 深灰底白字 (中間資訊區)
hi StatusMain ctermfg=255 ctermbg=238 cterm=none
" 檔案類型區:深灰底、亮黃字 (模擬 Airline 的次要區塊)
hi StatusFile ctermfg=226 ctermbg=240 cterm=none
" 行列資訊區:黑底、白字 (最右邊的區塊)
hi StatusPos ctermfg=255 ctermbg=232 cterm=bold
" 0: 永遠不顯示。
" 1: 只有在多個視窗(Split)時才顯示。
" 2: 永遠顯示。即使只開一個檔案也要看到它。
set laststatus=2
set statusline=
" %#DiffAdd#:套用「新增」的顏色(通常是綠底)。
" %{...}:執行 Vim 腳本。如果模式是 n (Normal),就顯示 NORMAL ,否則顯示空字串。
set statusline+=%#StatusNormal#%{(mode()=='n')?'\ \ NORMAL\ ':''} " 顯示模式 (Normal)
" %#DiffDelete#:套用「刪除」的顏色(通常是紅底)。如果是 Insert 模式就顯示 INSERT 。
set statusline+=%#StatusInsert#%{(mode()=='i')?'\ \ INSERT\ ':''} " 顯示模式 (Insert)
" %#DiffChange#:套用「修改」的顏色(通常是黃/紫底)。如果是 Visual 模式就顯示 " VISUAL "。
set statusline+=%#StatusVisual#%{(mode()=='v'\|\|mode()=='V'\|\|mode()=='\x16')?'\ \ VISUAL\ ':''} " 顯示模式 (Visual)
" %#StatusLine#:切換回標準的狀態列顏色。
" %f: 目前檔案路徑
" %m: 若檔案已修改,顯示 [+]
" %r:唯讀標記(Read-only)。如果是唯讀檔會顯示 [RO]。
" %h / %w:說明視窗(Help)或預覽視窗(Preview)的標記。
set statusline+=%#StatusLine#\ %f\ %m\ %r\ %h\ %w " 檔名 + 修改標記 + 唯讀
" %=:這是一個對齊切換點。它會產生足夠的空白,把之後的所有內容推到螢幕的最右邊。
set statusline+=%= " 分隔線 (左對齊與右對齊的分界)
" 4. 檔案類型區 (給它專屬底色 StatusFile)
set statusline+=%#StatusFile#
" %Y:顯示檔案類型。例如 JAVA、PYTHON 或 VIM。
set statusline+=%Y\ " 檔案類型 (Java/Python)
" &ff:File Format。顯示換行格式,例如 unix (LF) 或 dos (CRLF)。
set statusline+=[%{&ff}]\ " 換行格式 (unix/dos)
" 5. 位置資訊區 (StatusPos)
set statusline+=%#StatusPos#
" %04l:目前的行號,不足 4 位補 0。
" %L:總行數。
" %03c:目前的列號(Column),不足 3 位補 0。
set statusline+=%04l/%L,%03c\ " 行號/總行數, 列號
" %p%%:顯示目前位置在全檔案的百分比(如 42%)。最後的 %% 是為了跳脫出一個 % 符號。
set statusline+=%p%%\ " 百分比
```