Wikia

Vim Tips Wiki

Donald j axel/syncolor

Talk0
1,613pages on
this wiki

< User:Donald j axel

Revision as of 08:37, April 5, 2012 by JohnBeckett (Talk | contribs)

Vim 7.3 is distributed with file vim73/syntax/syncolor.vim. The following is an example of how that file might be changed. These comments were originally posted at Changing the default syntax highlighting, and the comments were then moved to Highlighting, and then moved to here.


I want a simple syntax highlighting which does not take attention from the real thing. Color codes are:

Green for comments
Blue for keywords/types
Bluebold for flow-control
Brown or gray for strings and constants
Black (or navy) for the rest

For that purpose I changed the "syncolor.vim" file (and it works best for light background xterm).

Some changes are:

SynColor Comment      term=bold      cterm=NONE ctermfg=DarkGreen ctermbg=NONE gui=NONE guifg=MediumSeaGreen guibg=NONE
SynColor Constant     term=underline cterm=NONE ctermfg=DarkRed   ctermbg=NONE gui=NONE guifg=SlateGrey guibg=NONE
SynColor Special      term=bold      cterm=NONE ctermfg=DarkRed   ctermbg=NONE gui=NONE guifg=DarkRed   guibg=NONE
SynColor Identifier   term=underline cterm=NONE ctermfg=DarkCyan  ctermbg=NONE gui=NONE guifg=DarkCyan  guibg=NONE
SynColor Statement    term=bold      cterm=NONE ctermfg=Blue      ctermbg=NONE gui=bold guifg=SlateBlue guibg=NONE
SynColor PreProc      term=underline cterm=NONE ctermfg=DarkBlue  ctermbg=NONE gui=NONE guifg=SlateBlue guibg=NONE
SynColor Type         term=underline cterm=NONE ctermfg=DarkBlue  ctermbg=NONE gui=bold guifg=Blue      guibg=NONE
SynColor Underlined   term=underline cterm=underline ctermfg=DarkMagenta gui=underline  guifg=SlateBlue
SynColor Ignore       term=NONE      cterm=NONE ctermfg=white     ctermbg=NONE gui=NONE guifg=bg        guibg=NONE

The changed syncolor.vim file follows.

" Vim syntax support file
" Maintainer:   Bram Moolenaar <Bram --at-- vim.org>
" Change:  2001 Sep 12
" Changed again by Donald Axel <donald_j_axel --at-- yahoo.com>
" dax:ca.2004 and uploaded 2009-11-12

" This file sets up the default methods for highlighting.
" It is loaded from "synload.vim" and from Vim for ":syntax reset".
" Also used from init_highlight().

if !exists("syntax_cmd") || syntax_cmd == "on"
  " ":syntax on" works like in Vim 5.7: set colors but keep links
  command -nargs=* SynColor hi <args>
  command -nargs=* SynLink hi link <args>
else
  if syntax_cmd == "enable"
    " ":syntax enable" keeps any existing colors
    command -nargs=* SynColor hi def <args>
    command -nargs=* SynLink hi def link <args>
  elseif syntax_cmd == "reset"
    " ":syntax reset" resets all colors to the default
    command -nargs=* SynColor hi <args>
    command -nargs=* SynLink hi! link <args>
  else
    " User defined syncolor file has already set the colors.
    finish
  endif
endif

" Many terminals can only use six different colors (plus black and white).
" Therefore the number of colors used is kept low. It doesn't look nice with
" too many colors anyway.
" Careful with "cterm=bold", it changes the color to bright for some terminals.
" There are two sets of defaults: for a dark and a light background.
if &background == "dark"
 SynColor  Comment     term=bold      cterm=NONE ctermfg=DarkGreen ctermbg=NONE   gui=NONE       guifg=#80a0ff   guibg=NONE
 SynColor  Constant    term=underline cterm=NONE ctermfg=DarkRed   ctermbg=NONE   gui=NONE       guifg=slategrey  guibg=NONE
 SynColor  Special     term=bold      cterm=NONE ctermfg=DarkRed   ctermbg=NONE   gui=NONE       guifg=Orange     guibg=NONE
 SynColor  Identifier  term=underline cterm=bold ctermfg=NONE      ctermbg=NONE   gui=NONE       guifg=#40ffff    guibg=NONE
 SynColor  Statement   term=bold      cterm=NONE ctermfg=white     ctermbg=NONE   gui=bold       guifg=#ffff60    guibg=NONE
 SynColor  PreProc     term=underline cterm=NONE ctermfg=LightBlue ctermbg=NONE   gui=NONE       guifg=#ff80ff    guibg=NONE
 SynColor  Type        term=underline cterm=NONE ctermfg=LightBlue ctermbg=NONE   gui=bold       guifg=#60ff60    guibg=NONE
 SynColor  Underlined  term=underline cterm=underline  ctermfg=LightBlue          gui=underline  guifg=#80a0ff
 SynColor  Ignore      term=NONE      cterm=NONE ctermfg=black     ctermbg=NONE   gui=NONE       guifg=bg         guibg=NONE
else
 SynColor Comment      term=bold      cterm=NONE ctermfg=DarkGreen ctermbg=NONE gui=NONE guifg=MediumSeaGreen guibg=NONE
 SynColor Constant     term=underline cterm=NONE ctermfg=DarkRed   ctermbg=NONE gui=NONE guifg=SlateGrey guibg=NONE
 SynColor Special      term=bold      cterm=NONE ctermfg=DarkRed   ctermbg=NONE gui=NONE guifg=DarkRed   guibg=NONE
 SynColor Identifier   term=underline cterm=NONE ctermfg=DarkCyan  ctermbg=NONE gui=NONE guifg=DarkCyan  guibg=NONE
 SynColor Statement    term=bold      cterm=NONE ctermfg=Blue      ctermbg=NONE gui=bold guifg=SlateBlue guibg=NONE
 SynColor PreProc      term=underline cterm=NONE ctermfg=DarkBlue  ctermbg=NONE gui=NONE guifg=SlateBlue guibg=NONE
 SynColor Type         term=underline cterm=NONE ctermfg=DarkBlue  ctermbg=NONE gui=bold guifg=Blue      guibg=NONE
 SynColor Underlined   term=underline cterm=underline ctermfg=DarkMagenta gui=underline  guifg=SlateBlue
 SynColor Ignore       term=NONE      cterm=NONE ctermfg=white     ctermbg=NONE gui=NONE guifg=bg        guibg=NONE
endif
SynColor Error          term=reverse cterm=NONE ctermfg=White ctermbg=Red gui=NONE guifg=White guibg=Red
SynColor Todo           term=standout cterm=NONE ctermfg=Black ctermbg=Yellow gui=NONE guifg=Blue guibg=Yellow

" Common groups that link to default highlighting.
" You can specify other highlighting easily.
SynLink String          Constant
SynLink Character       Constant
SynLink Number          Constant
SynLink Boolean         Constant
SynLink Float           Number
SynLink Function        Identifier
SynLink Conditional     Statement
SynLink Repeat          Statement
SynLink Label           Statement
SynLink Operator        Statement
SynLink Keyword         Statement
SynLink Exception       Statement
SynLink Include         PreProc
SynLink Define          PreProc
SynLink Macro           PreProc
SynLink PreCondit       PreProc
SynLink StorageClass    Type
SynLink Structure       Type
SynLink Typedef         Type
SynLink Tag             Special
SynLink SpecialChar     Special
SynLink Delimiter       Special
SynLink SpecialComment  Special
SynLink Debug           Special

delcommand SynColor
delcommand SynLink

Around Wikia's network

Random Wiki