快乐坚果

博客园 首页 新随笔 联系 订阅 管理

相关帮助可参考: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
" }}}

 

posted on 2022-09-28 20:26  merrynuts  阅读(100)  评论(0编辑  收藏  举报