Vim 配置光標(biāo)形狀和顏色(Windows Terminal、xterm)

Windows Terminal 里的 Vim 設(shè)置了淺的配色,剛好光標(biāo)默認(rèn)是白色的豎線,不容易看出來。很有點費眼睛。

想把光標(biāo)改成其他顏色的方塊樣式。因為不是 gvim,guicursor 之類的配置不起作用。
上網(wǎng)查了些資料,測試如下配置可以正常生效(貌似這個 Terminal 是屬于 xterm 那一類):

" Set cursor shape and color
if &term =~ "xterm"
    " INSERT mode
    let &t_SI = "\<Esc>[6 q" . "\<Esc>]12;blue\x7"
    " REPLACE mode
    let &t_SR = "\<Esc>[3 q" . "\<Esc>]12;black\x7"
    " NORMAL mode
    let &t_EI = "\<Esc>[2 q" . "\<Esc>]12;green\x7"
endif
" 1 -> blinking block  閃爍的方塊
" 2 -> solid block  不閃爍的方塊
" 3 -> blinking underscore  閃爍的下劃線
" 4 -> solid underscore  不閃爍的下劃線
" 5 -> blinking vertical bar  閃爍的豎線
" 6 -> solid vertical bar  不閃爍的豎線

其中各配置項的含義如下:

  • &t_SI 表示插入模式
  • &t_SR 表示替換模式
  • &t_EI 表示 Normal 模式
  • . 號左邊的 "\<Esc>[6 q" 用來配置光標(biāo)的形狀。其中 6 的取值可以是 1 - 6,分別指代不同的光標(biāo)樣式(參考前面的注釋)
  • . 號右邊的 "\<Esc>]12;blue\x7" 用來配置光標(biāo)顏色,其中的 blue 可以替換為其他顏色名詞

設(shè)置光標(biāo)顏色時也可以使用 RGB 顏色,格式為 rgb:RR/GG/BB。比如純白色的光標(biāo)即為 "\<Esc>]12;rgb:FF/FF/FF\x7"。

若只想設(shè)置光標(biāo)形狀,直接去掉 . 號以及右邊的顏色配置部分即可。如 let &t_SR = "\<Esc>[3 q"。
同理,只想修改顏色時也可以將 . 號左邊的形狀配置部分刪掉。
. 號在這里的作用其實是字符串拼接,方便區(qū)分形狀配置部分和顏色配置部分而已。去掉 . 號直接將兩部分配置寫在一個字符串里也是可以的。
let &t_SR = "\<Esc>[3 q" . "\<Esc>]12;black\x7" 等同于 let &t_SR = "\<Esc>[3 q\<Esc>]12;black\x7"

Normal 模式(綠色方塊):
Normal

插入模式(藍(lán)色豎線):
Insert

替換模式(黑色下劃線):
Replace

參考資料

Cursor color in xterm; change accordingly to the syntax in vim

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容