相关帮助可参考:https://stackoverflow.com/questions/9837058/why-doesnt-the-font-setting-work-in-gvim
主题文件:molokai.vim,通过系统安装命令安装的主题目录在:/usr/share/vim/vim90/colors下,通过系统安装命令安装的主题目录在:/usr/local/share/vim/vim91/colors下,90或91是vim的版本号。
" Vim color file
"
" Author: Tomas Restrepo <tomas@winterdom.com>
" https://github.com/tomasr/molokai
"
" Note: Based on the Monokai theme for TextMate
" by Wimer Hazenberg and its darker variant
" by Hamish Stuart Macpherson
"
hi clear
if version > 580
" no guarantees for version 5.8 and below, but this makes it stop
" complaining
hi clear
if exists("syntax_on")
syntax reset
endif
endif
let g:colors_name="molokai"
if exists("g:molokai_original")
let s:molokai_original = g:molokai_original
else
let s:molokai_original = 0
endif
hi Boolean guifg=#AE81FF
hi Character guifg=#E6DB74
hi Number guifg=#AE81FF
hi String guifg=#E6DB74
hi Conditional guifg=#F92672 gui=bold
hi Constant guifg=#AE81FF gui=bold
hi Cursor guifg=#000000 guibg=#F8F8F0
hi iCursor guifg=#000000 guibg=#F8F8F0
hi Debug guifg=#BCA3A3 gui=bold
hi Define guifg=#66D9EF
hi Delimiter guifg=#8F8F8F
hi DiffAdd guibg=#13354A
hi DiffChange guifg=#89807D guibg=#4C4745
hi DiffDelete guifg=#960050 guibg=#1E0010
hi DiffText guibg=#4C4745 gui=italic,bold
hi Directory guifg=#A6E22E gui=bold
hi Error guifg=#E6DB74 guibg=#1E0010
hi ErrorMsg guifg=#F92672 guibg=#232526 gui=bold
hi Exception guifg=#A6E22E gui=bold
hi Float guifg=#AE81FF
hi FoldColumn guifg=#465457 guibg=#000000
hi Folded guifg=#465457 guibg=#000000
hi Function guifg=#A6E22E
hi Identifier guifg=#FD971F
hi Ignore guifg=#808080 guibg=bg
hi IncSearch guifg=#C4BE89 guibg=#000000
hi Keyword guifg=#F92672 gui=bold
hi Label guifg=#E6DB74 gui=none
hi Macro guifg=#C4BE89 gui=italic
hi SpecialKey guifg=#66D9EF gui=italic
hi MatchParen guifg=#000000 guibg=#FD971F gui=bold
hi ModeMsg guifg=#E6DB74
hi MoreMsg guifg=#E6DB74
hi Operator guifg=#F92672
" complete menu
hi Pmenu guifg=#66D9EF guibg=#000000
hi PmenuSel guibg=#808080
hi PmenuSbar guibg=#080808
hi PmenuThumb guifg=#66D9EF
hi PreCondit guifg=#A6E22E gui=bold
hi PreProc guifg=#A6E22E
hi Question guifg=#66D9EF
hi Repeat guifg=#F92672 gui=bold
hi Search guifg=#000000 guibg=#FFE792
" marks
hi SignColumn guifg=#A6E22E guibg=#232526
hi SpecialChar guifg=#F92672 gui=bold
hi SpecialComment guifg=#7E8E91 gui=bold
hi Special guifg=#66D9EF guibg=bg gui=italic
if has("spell")
hi SpellBad guisp=#FF0000 gui=undercurl
hi SpellCap guisp=#7070F0 gui=undercurl
hi SpellLocal guisp=#70F0F0 gui=undercurl
hi SpellRare guisp=#FFFFFF gui=undercurl
endif
hi Statement guifg=#F92672 gui=bold
hi StatusLine guifg=#455354 guibg=fg
hi StatusLineNC guifg=#808080 guibg=#080808
hi StorageClass guifg=#FD971F gui=italic
hi Structure guifg=#66D9EF
hi Tag guifg=#F92672 gui=italic
hi Title guifg=#ef5939
hi Todo guifg=#FFFFFF guibg=bg gui=bold
hi Typedef guifg=#66D9EF
hi Type guifg=#66D9EF gui=none
hi Underlined guifg=#808080 gui=underline
hi VertSplit guifg=#808080 guibg=#080808 gui=bold
hi VisualNOS guibg=#403D3D
hi Visual guibg=#403D3D
hi WarningMsg guifg=#FFFFFF guibg=#333333 gui=bold
hi WildMenu guifg=#66D9EF guibg=#000000
hi TabLineFill guifg=#1B1D1E guibg=#1B1D1E
hi TabLine guibg=#1B1D1E guifg=#808080 gui=none
if s:molokai_original == 1
hi Normal guifg=#F8F8F2 guibg=#272822
hi Comment guifg=#75715E
hi CursorLine guibg=#3E3D32
hi CursorLineNr guifg=#FD971F gui=none
hi CursorColumn guibg=#3E3D32
hi ColorColumn guibg=#3B3A32
hi LineNr guifg=#BCBCBC guibg=#3B3A32
hi NonText guifg=#75715E
hi SpecialKey guifg=#75715E
else
hi Normal guifg=#F8F8F2 guibg=#1B1D1E
hi Comment guifg=#7E8E91
hi CursorLine guibg=#293739
hi CursorLineNr guifg=#FD971F gui=none
hi CursorColumn guibg=#293739
hi ColorColumn guibg=#232526
hi LineNr guifg=#465457 guibg=#232526
hi NonText guifg=#465457
hi SpecialKey guifg=#465457
end
"
" Support for 256-color terminal
"
if &t_Co > 255
if s:molokai_original == 1
hi Normal ctermbg=234
hi CursorLine ctermbg=235 cterm=none
hi CursorLineNr ctermfg=208 cterm=none
else
hi Normal ctermfg=252 ctermbg=233
hi CursorLine ctermbg=234 cterm=none
hi CursorLineNr ctermfg=208 cterm=none
endif
hi Boolean ctermfg=135
hi Character ctermfg=144
hi Number ctermfg=135
hi String ctermfg=144
hi Conditional ctermfg=161 cterm=bold
hi Constant ctermfg=135 cterm=bold
hi Cursor ctermfg=16 ctermbg=253
hi Debug ctermfg=225 cterm=bold
hi Define ctermfg=81
hi Delimiter ctermfg=241
hi DiffAdd ctermbg=24
hi DiffChange ctermfg=181 ctermbg=239
hi DiffDelete ctermfg=162 ctermbg=53
hi DiffText ctermbg=102 cterm=bold
hi Directory ctermfg=118 cterm=bold
hi Error ctermfg=219 ctermbg=89
hi ErrorMsg ctermfg=199 ctermbg=16 cterm=bold
hi Exception ctermfg=118 cterm=bold
hi Float ctermfg=135
hi FoldColumn ctermfg=67 ctermbg=16
hi Folded ctermfg=67 ctermbg=16
hi Function ctermfg=118
hi Identifier ctermfg=208 cterm=none
hi Ignore ctermfg=244 ctermbg=232
hi IncSearch ctermfg=193 ctermbg=16
hi keyword ctermfg=161 cterm=bold
hi Label ctermfg=229 cterm=none
hi Macro ctermfg=193
hi SpecialKey ctermfg=81
hi MatchParen ctermfg=233 ctermbg=208 cterm=bold
hi ModeMsg ctermfg=229
hi MoreMsg ctermfg=229
hi Operator ctermfg=161
" complete menu
hi Pmenu ctermfg=81 ctermbg=16
hi PmenuSel ctermfg=255 ctermbg=242
hi PmenuSbar ctermbg=232
hi PmenuThumb ctermfg=81
hi PreCondit ctermfg=118 cterm=bold
hi PreProc ctermfg=118
hi Question ctermfg=81
hi Repeat ctermfg=161 cterm=bold
hi Search ctermfg=0 ctermbg=222 cterm=NONE
" marks column
hi SignColumn ctermfg=118 ctermbg=235
hi SpecialChar ctermfg=161 cterm=bold
hi SpecialComment ctermfg=245 cterm=bold
hi Special ctermfg=81
if has("spell")
hi SpellBad ctermbg=52
hi SpellCap ctermbg=17
hi SpellLocal ctermbg=17
hi SpellRare ctermfg=none ctermbg=none cterm=reverse
endif
hi Statement ctermfg=161 cterm=bold
hi StatusLine ctermfg=238 ctermbg=253
hi StatusLineNC ctermfg=244 ctermbg=232
hi StorageClass ctermfg=208
hi Structure ctermfg=81
hi Tag ctermfg=161
hi Title ctermfg=166
hi Todo ctermfg=231 ctermbg=232 cterm=bold
hi Typedef ctermfg=81
hi Type ctermfg=81 cterm=none
hi Underlined ctermfg=244 cterm=underline
hi VertSplit ctermfg=244 ctermbg=232 cterm=bold
hi VisualNOS ctermbg=238
hi Visual ctermbg=235
hi WarningMsg ctermfg=231 ctermbg=238 cterm=bold
hi WildMenu ctermfg=81 ctermbg=16
hi Comment ctermfg=59
hi CursorColumn ctermbg=236
hi ColorColumn ctermbg=236
hi LineNr ctermfg=250 ctermbg=236
hi NonText ctermfg=59
hi SpecialKey ctermfg=59
if exists("g:rehash256") && g:rehash256 == 1
hi Normal ctermfg=252 ctermbg=234
hi CursorLine ctermbg=236 cterm=none
hi CursorLineNr ctermfg=208 cterm=none
hi Boolean ctermfg=141
hi Character ctermfg=222
hi Number ctermfg=141
hi String ctermfg=222
hi Conditional ctermfg=197 cterm=bold
hi Constant ctermfg=141 cterm=bold
hi DiffDelete ctermfg=125 ctermbg=233
hi Directory ctermfg=154 cterm=bold
hi Error ctermfg=222 ctermbg=233
hi Exception ctermfg=154 cterm=bold
hi Float ctermfg=141
hi Function ctermfg=154
hi Identifier ctermfg=208
hi Keyword ctermfg=197 cterm=bold
hi Operator ctermfg=197
hi PreCondit ctermfg=154 cterm=bold
hi PreProc ctermfg=154
hi Repeat ctermfg=197 cterm=bold
hi Statement ctermfg=197 cterm=bold
hi Tag ctermfg=197
hi Title ctermfg=203
hi Visual ctermbg=238
hi Comment ctermfg=244
hi LineNr ctermfg=239 ctermbg=235
hi NonText ctermfg=239
hi SpecialKey ctermfg=239
endif
end
" Must be at the end, because of ctermbg=234 bug.
" https://groups.google.com/forum/#!msg/vim_dev/afPqwAFNdrU/nqh6tOM87QUJ
set background=dark
1.Debian 12下的:
" Ultimate VIMRC without plugin
" Copyrights @ Yavobo
" Version 0.01
" Created in 2016.11.02 11:11
" Updated in 2024.04.23 10:28
"
" Describe:
" An _vimrc without plugin.
" That's my favours!
"
" 1.base {{{
syntax on
filetype indent plugin on
set nocompatible
let $LANG='en' "set message language
set langmenu=en "set menu's language of gvim. no spaces besides '='
set nobackup
set noswapfile
set history=2048
set autochdir
set whichwrap=b,s,<,>,[,]
set nobomb
set vb t_vb=
au GuiEnter * set t_vb=
set backspace=indent,eol,start whichwrap+=<,>,[,]
set ff=unix
set cindent shiftwidth=2
" Vim 的默认寄存器和系统剪贴板共享
set clipboard=unnamedplus
set clipboard+=unnamed
" 设置 alt 键不映射到菜单栏
set winaltkeys=no
" 隐藏文件最后空白行的~
let &fillchars ..= ',eob: '
" }}}
" 2.Lang & Encoding {{{
let $LANG = 'en_US.UTF-8'
language messages zh_CN.UTF-8
set encoding=utf-8
if has("win32")
" vimrc文件修改之后自动加载, windows
set termencoding=cp936
else
set termencoding=utf-8
endif
set fileencoding=utf-8
set fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1
set langmenu=zh_CN.utf-8
set imcmdline
" 防止菜单出现乱码
source $VIMRUNTIME/delmenu.vim
source $VIMRUNTIME/menu.vim
" }}}
" 3.Theme {{{
" Set Number line and Cursor line
" Set Status line
set laststatus=2
set statusline=[%{&ff}:%{&fenc}]%F%m%r%h\ %w\ \ %=%l,%c\ %L
set cmdheight=1
" Set font
" Linux's format:
"set guifont=YaHeiConsolasHybrid:h16
set guifont="RobotoMono Nerd Font":h16
if has("win32")
" Win32 or win64's format:
set guifont=YaHei_Consolas_Hybrid:h16
"set guifont=微软雅黑Monaco:h20
endif
" Normal setup
" 不显示工具/菜单栏
set guioptions-=T
set guioptions-=m
set guioptions-=L
set guioptions-=r
set guioptions-=b
" 最大化启动
"if has("gui_running") && has("win32")
" map <F11> :call libcallnr("gvimfullscreen.dll","ToggleFullScreen", 0)<CR>
" au GUIEnter * simalt ~x
"endif
" 按F11切换全屏 ( 在windows11下的vim9.1无效)
" imap <F11> :call libcallnr("gvimfullscreen.dll","ToggleFullScreen", 0)<CR>
" }}}
" 透明效果( 在windows11下的vim9.1无效)
"au GUIEnter * call libcallnr("vimtweak.dll", "SetAlpha", 234)
" 转换为命令模式时自动切换为英文状态。
let g:XkbSwitchLib = 'C:\Program Files (x86)\Vim\vim91\libxkbswitch64.dll'
let g:XkbSwitchEnabled = 1
" 4.Behavior {{{
set autoindent
set mouse=a
set backspace=2
set wrap
set smartindent
set tabstop=4
set softtabstop=4
set expandtab
"set ai!
map <F5> :tabnext<cr>
map <F6> :tabnew<cr>
inoremap <c-k> <up>
inoremap <c-j> <down>
inoremap <c-h> <left>
inoremap <c-l> <right>
set number
set relativenumber
set cursorline
" For windows 7
" Display will not be normal in terminal when set t_Co to 256, it must be set to 8
" -----------------4-------------------------------------------------------
"set t_Co=8
set t_Co=256
" 防止光标移到最后或最顶时闪烁
set noerrorbells visualbell t_vb=
autocmd GUIEnter * set visualbell t_vb=
highlight EndOfBuffer ctermbg=0
colorscheme molokai "desert ron
highlight Normal ctermbg=232
highlight LineNr term=NONE cterm=bold ctermfg=gray ctermbg=235
highlight CursorLine term=NONE cterm=NONE ctermbg=0
highlight CursorLineNr term=NONE cterm=NONE ctermbg=235 ctermfg=white "green
highlight EndOfBuffer ctermbg=black
if has("gui_running")
colorscheme vim-material "earthsonglight "molokai "desert
highlight Normal guibg=black
highlight LineNr guifg=#555555 guibg=#222222
highlight CursorLine guibg=black "#555555
highlight CursorLineNr guifg=#dddddd guibg=#222222
highlight EndOfBuffer guibg=black
set guifont=RobotoMono\ Nerd\ Font\ Regular\ 14
endif
" For windows 10
" Display will be same as gui in terminal to set t_Co to 256
" ----------------------------------------------------------
"colorscheme torte
"highlight Normal ctermbg=235
"highlight LineNr term=NONE cterm=NONE ctermbg=234 ctermfg=yellow
"highlight CursorLine term=NONE cterm=NONE ctermbg=238
"highlight CursorLineNr term=NONE cterm=NONE ctermbg=236 ctermfg=red
" 5.others 其它设置
if has("win32")
" vimrc文件修改之后自动加载, windows
autocmd! bufwritepost _vimrc source %
else
" vimrc文件修改之后自动加载, linux
autocmd! bufwritepost .vimrc source %
endif
" 6.Extend
" 快捷输入
" 自动完成括号和引号
" inoremap ' ''<ESC>i
" inoremap " ""<ESC>i
" inoremap ( ()<ESC>i
" inoremap [ []<ESC>i
" inoremap { {<CR>}<ESC>O
"在插入模式下将 Caps Lock 映射为Esc, 好像无效,缺省的代替键为Ctrl+c
"inoremap <capslock> <esc>
" }}}
2.Windows下的:
" Ultimate VIMRC without plugin
" Copyrights @ Yavobo
" Version 0.01
" Created in 2016.11.02 11:11
" Updated in 2024.04.23 10:28
"
" Describe:
" An _vimrc without plugin.
" That's my favours!
"
" 1.base {{{
syntax on
filetype indent plugin on
set nocompatible
let $LANG='en' "set message language
set langmenu=en "set menu's language of gvim. no spaces besides '='
set nobackup
set noswapfile
set history=2048
set autochdir
set whichwrap=b,s,<,>,[,]
set nobomb
set vb t_vb=
au GuiEnter * set t_vb=
set backspace=indent,eol,start whichwrap+=<,>,[,]
set ff=unix
set cindent shiftwidth=2
" Vim 的默认寄存器和系统剪贴板共享
set clipboard+=unnamed
" 设置 alt 键不映射到菜单栏
set winaltkeys=no
" 隐藏文件最后空白行的~
let &fillchars ..= ',eob: '
" }}}
" 2.Lang & Encoding {{{
let $LANG = 'en_US.UTF-8'
language messages zh_CN.UTF-8
set encoding=utf-8
if has("win32")
" vimrc文件修改之后自动加载, windows
set termencoding=cp936
else
set termencoding=utf-8
endif
set fileencoding=utf-8
set fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1
set langmenu=zh_CN.utf-8
set imcmdline
" 防止菜单出现乱码
source $VIMRUNTIME/delmenu.vim
source $VIMRUNTIME/menu.vim
" }}}
" 3.Theme {{{
" Set Number line and Cursor line
" Set Status line
set laststatus=2
set statusline=[%{&ff}:%{&fenc}]%F%m%r%h\ %w\ \ %=%l,%c\ %L
set cmdheight=1
" Set font
if has("win32")
set guifont=YaHei_Consolas_Hybrid:h16
"set guifont=微软雅黑Monaco:h20
endif
" Normal setup
" 不显示工具/菜单栏
set guioptions-=T
set guioptions-=m
set guioptions-=L
set guioptions-=r
set guioptions-=b
" 最大化启动
"if has("gui_running") && has("win32")
" map <F11> :call libcallnr("gvimfullscreen.dll","ToggleFullScreen", 0)<CR>
" au GUIEnter * simalt ~x
"endif
" 按F11切换全屏 ( 在windows11下的vim9.1无效)
" imap <F11> :call libcallnr("gvimfullscreen.dll","ToggleFullScreen", 0)<CR>
" }}}
" 透明效果( 在windows11下的vim9.1无效)
"au GUIEnter * call libcallnr("vimtweak.dll", "SetAlpha", 234)
" 转换为命令模式时自动切换为英文状态。
let g:XkbSwitchLib = 'C:\Program Files (x86)\Vim\vim91\libxkbswitch64.dll'
let g:XkbSwitchEnabled = 1
" 4.Behavior {{{
set autoindent
set mouse=a
set backspace=2
set wrap
set smartindent
set tabstop=2
set softtabstop=2
set expandtab
"set ai!
map <F5> :tabnext<cr>
map <F6> :tabnew<cr>
inoremap <c-k> <up>
inoremap <c-j> <down>
inoremap <c-h> <left>
inoremap <c-l> <right>
set number
set relativenumber
set cursorline
" For windows 7
" Display will not be normal in terminal when set t_Co to 256, it must be set to 8
" ------------------------------------------------------------------------
"set t_Co=8
set t_Co=256
" 防止光标移到最后或最顶时闪烁
set noerrorbells visualbell t_vb=
autocmd GUIEnter * set visualbell t_vb=
highlight EndOfBuffer ctermbg=0
colorscheme desert "ron
highlight Normal ctermbg=232
highlight LineNr term=NONE cterm=bold ctermfg=darkgray ctermbg=black
highlight CursorLine term=NONE cterm=NONE ctermbg=0
highlight CursorLineNr term=NONE cterm=NONE ctermbg=235 ctermfg=white "green
highlight EndOfBuffer ctermbg=black
if has("gui_running")
colorscheme desert
highlight Normal guibg=black
highlight LineNr guifg=#555555 guibg=#222222
highlight CursorLine guibg=black "#555555
highlight CursorLineNr guifg=#dddddd guibg=#222222
highlight EndOfBuffer guibg=black
endif
" For windows 10
" Display will be same as gui in terminal to set t_Co to 256
" ----------------------------------------------------------
"set t_Co=256
"colorscheme torte
"highlight Normal ctermbg=235
"highlight LineNr term=NONE cterm=NONE ctermbg=234 ctermfg=yellow
"highlight CursorLine term=NONE cterm=NONE ctermbg=238
"highlight CursorLineNr term=NONE cterm=NONE ctermbg=236 ctermfg=red
" 5.others 其它设置
if has("win32")
" vimrc文件修改之后自动加载, windows
autocmd! bufwritepost _vimrc source %
else
" vimrc文件修改之后自动加载, linux
autocmd! bufwritepost .vimrc source %
endif
" 6.Extend
" 快捷输入
" 自动完成括号和引号
" inoremap ' ''<ESC>i
" inoremap " ""<ESC>i
" inoremap ( ()<ESC>i
" inoremap [ []<ESC>i
" inoremap { {<CR>}<ESC>O
" }}}