From bab7b35510c49e1c549af57123709d2a89c0f6ba Mon Sep 17 00:00:00 2001 From: Josh Holtrop Date: Thu, 6 Dec 2012 14:30:38 -0500 Subject: [PATCH] Initial import from my old files repository --- colors/ir_black.vim | 213 +++++++++++++++++++++++++++++++++++ syntax/glsl.vim | 265 ++++++++++++++++++++++++++++++++++++++++++++ vimrc | 161 +++++++++++++++++++++++++++ 3 files changed, 639 insertions(+) create mode 100644 colors/ir_black.vim create mode 100644 syntax/glsl.vim create mode 100644 vimrc diff --git a/colors/ir_black.vim b/colors/ir_black.vim new file mode 100644 index 0000000..8bcae09 --- /dev/null +++ b/colors/ir_black.vim @@ -0,0 +1,213 @@ +" ir_black color scheme +" put in ~/.vim/colors +" More at: http://blog.infinitered.com/entries/show/8 + + +" ******************************************************************************** +" Standard colors used in all ir_black themes: +" Note, x:x:x are RGB values +" +" normal: #f6f3e8 +" +" string: #A8FF60 168:255:96 +" string inner (punc, code, etc): #00A0A0 0:160:160 +" number: #FF73FD 255:115:253 +" comments: #7C7C7C 124:124:124 +" keywords: #96CBFE 150:203:254 +" operators: white +" class: #FFFFB6 255:255:182 +" method declaration name: #FFD2A7 255:210:167 +" regular expression: #E9C062 233:192:98 +" regexp alternate: #FF8000 255:128:0 +" regexp alternate 2: #B18A3D 177:138:61 +" variable: #C6C5FE 198:197:254 +" +" Misc colors: +" red color (used for whatever): #FF6C60 255:108:96 +" light red: #FFB6B0 255:182:176 +" +" brown: #E18964 good for special +" +" lightpurpleish: #FFCCFF +" +" Interface colors: +" background color: black +" cursor (where underscore is used): #FFA560 255:165:96 +" cursor (where block is used): white +" visual selection: #1D1E2C +" current line: #151515 21:21:21 +" search selection: #07281C 7:40:28 +" line number: #3D3D3D 61:61:61 + + +" ******************************************************************************** +" The following are the preferred 16 colors for your terminal +" Colors Bright Colors +" Black #4E4E4E #7C7C7C +" Red #FF6C60 #FFB6B0 +" Green #A8FF60 #CEFFAB +" Yellow #FFFFB6 #FFFFCB +" Blue #96CBFE #FFFFCB +" Magenta #FF73FD #FF9CFE +" Cyan #C6C5FE #DFDFFE +" White #EEEEEE #FFFFFF + + +" ******************************************************************************** +set background=dark +hi clear + +if exists("syntax_on") + syntax reset +endif + +let colors_name = "ir_black" + + +"hi Example guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE + +" General colors +hi Normal guifg=#f6f3e8 guibg=black gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE +hi NonText guifg=#070707 guibg=black gui=NONE ctermfg=black ctermbg=NONE cterm=NONE + +hi Cursor guifg=black guibg=white gui=NONE ctermfg=black ctermbg=white cterm=reverse +hi LineNr guifg=#3D3D3D guibg=black gui=NONE ctermfg=darkgray ctermbg=NONE cterm=NONE + +hi VertSplit guifg=#202020 guibg=#CCCCCC gui=NONE ctermfg=darkgray ctermbg=darkgray cterm=NONE +hi StatusLine guifg=#666666 guibg=#CCCCCC gui=NONE ctermfg=white ctermbg=darkgray cterm=NONE +hi StatusLineNC guifg=black guibg=#CCCCCC gui=NONE ctermfg=blue ctermbg=darkgray cterm=NONE + +hi Folded guifg=#a0a8b0 guibg=#384048 gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE +hi Title guifg=#f6f3e8 guibg=NONE gui=bold ctermfg=NONE ctermbg=NONE cterm=NONE +hi Visual guifg=NONE guibg=#262D51 gui=NONE ctermfg=NONE ctermbg=darkgray cterm=NONE + +hi SpecialKey guifg=#808080 guibg=#343434 gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE + +hi WildMenu guifg=green guibg=yellow gui=NONE ctermfg=black ctermbg=yellow cterm=NONE +hi PmenuSbar guifg=black guibg=white gui=NONE ctermfg=black ctermbg=white cterm=NONE +"hi Ignore guifg=gray guibg=black gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE + +hi Error guifg=NONE guibg=NONE gui=undercurl ctermfg=white ctermbg=red cterm=NONE guisp=#FF6C60 " undercurl color +hi ErrorMsg guifg=white guibg=#FF6C60 gui=BOLD ctermfg=white ctermbg=red cterm=NONE +hi WarningMsg guifg=white guibg=#FF6C60 gui=BOLD ctermfg=white ctermbg=red cterm=NONE + +" Message displayed in lower left, such as --INSERT-- +hi ModeMsg guifg=black guibg=#C6C5FE gui=BOLD ctermfg=black ctermbg=cyan cterm=BOLD + +if version >= 700 " Vim 7.x specific colors + hi CursorLine guifg=NONE guibg=#121212 gui=NONE ctermfg=NONE ctermbg=NONE cterm=BOLD + hi CursorColumn guifg=NONE guibg=#121212 gui=NONE ctermfg=NONE ctermbg=NONE cterm=BOLD + hi MatchParen guifg=#f6f3e8 guibg=#857b6f gui=BOLD ctermfg=white ctermbg=darkgray cterm=NONE + hi Pmenu guifg=#f6f3e8 guibg=#444444 gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE + hi PmenuSel guifg=#000000 guibg=#cae682 gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE +" hi Search guifg=NONE guibg=NONE gui=underline ctermfg=NONE ctermbg=NONE cterm=underline +endif + +" Syntax highlighting +hi Comment guifg=#7C7C7C guibg=NONE gui=NONE ctermfg=darkgray ctermbg=NONE cterm=NONE +hi String guifg=#A8FF60 guibg=NONE gui=NONE ctermfg=green ctermbg=NONE cterm=NONE +hi Number guifg=#FF73FD guibg=NONE gui=NONE ctermfg=magenta ctermbg=NONE cterm=NONE + +hi Keyword guifg=#96CBFE guibg=NONE gui=NONE ctermfg=blue ctermbg=NONE cterm=NONE +hi PreProc guifg=#96CBFE guibg=NONE gui=NONE ctermfg=blue ctermbg=NONE cterm=NONE +hi Conditional guifg=#6699CC guibg=NONE gui=NONE ctermfg=blue ctermbg=NONE cterm=NONE " if else end + +hi Todo guifg=#8f8f8f guibg=NONE gui=NONE ctermfg=red ctermbg=NONE cterm=NONE +hi Constant guifg=#99CC99 guibg=NONE gui=NONE ctermfg=cyan ctermbg=NONE cterm=NONE + +hi Identifier guifg=#C6C5FE guibg=NONE gui=NONE ctermfg=cyan ctermbg=NONE cterm=NONE +hi Function guifg=#FFD2A7 guibg=NONE gui=NONE ctermfg=brown ctermbg=NONE cterm=NONE +hi Type guifg=#FFFFB6 guibg=NONE gui=NONE ctermfg=yellow ctermbg=NONE cterm=NONE +hi Statement guifg=#6699CC guibg=NONE gui=NONE ctermfg=lightblue ctermbg=NONE cterm=NONE + +hi Special guifg=#E18964 guibg=NONE gui=NONE ctermfg=white ctermbg=NONE cterm=NONE +hi Delimiter guifg=#00A0A0 guibg=NONE gui=NONE ctermfg=cyan ctermbg=NONE cterm=NONE +hi Operator guifg=Red guibg=NONE gui=NONE ctermfg=white ctermbg=NONE cterm=NONE + +hi link Character Constant +hi link Boolean Constant +hi link Float Number +hi link Repeat Statement +hi link Label Statement +hi link Exception Statement +hi link Include PreProc +hi link Define PreProc +hi link Macro PreProc +hi link PreCondit PreProc +hi link StorageClass Type +hi link Structure Type +hi link Typedef Type +hi link Tag Special +hi link SpecialChar Special +hi link SpecialComment Special +hi link Debug Special + + +" Special for Ruby +hi rubyRegexp guifg=#B18A3D guibg=NONE gui=NONE ctermfg=brown ctermbg=NONE cterm=NONE +hi rubyRegexpDelimiter guifg=#FF8000 guibg=NONE gui=NONE ctermfg=brown ctermbg=NONE cterm=NONE +hi rubyEscape guifg=white guibg=NONE gui=NONE ctermfg=cyan ctermbg=NONE cterm=NONE +hi rubyInterpolationDelimiter guifg=#00A0A0 guibg=NONE gui=NONE ctermfg=blue ctermbg=NONE cterm=NONE +hi rubyControl guifg=#6699CC guibg=NONE gui=NONE ctermfg=blue ctermbg=NONE cterm=NONE "and break, etc +"hi rubyGlobalVariable guifg=#FFCCFF guibg=NONE gui=NONE ctermfg=lightblue ctermbg=NONE cterm=NONE "yield +hi rubyStringDelimiter guifg=#336633 guibg=NONE gui=NONE ctermfg=lightgreen ctermbg=NONE cterm=NONE +"rubyInclude +"rubySharpBang +"rubyAccess +"rubyPredefinedVariable +"rubyBoolean +"rubyClassVariable +"rubyBeginEnd +"rubyRepeatModifier +"hi link rubyArrayDelimiter Special " [ , , ] +"rubyCurlyBlock { , , } + +hi link rubyClass Keyword +hi link rubyModule Keyword +hi link rubyKeyword Keyword +hi link rubyOperator Operator +hi link rubyIdentifier Identifier +hi link rubyInstanceVariable Identifier +hi link rubyGlobalVariable Identifier +hi link rubyClassVariable Identifier +hi link rubyConstant Type + + +" Special for Java +" hi link javaClassDecl Type +hi link javaScopeDecl Identifier +hi link javaCommentTitle javaDocSeeTag +hi link javaDocTags javaDocSeeTag +hi link javaDocParam javaDocSeeTag +hi link javaDocSeeTagParam javaDocSeeTag + +hi javaDocSeeTag guifg=#CCCCCC guibg=NONE gui=NONE ctermfg=darkgray ctermbg=NONE cterm=NONE +hi javaDocSeeTag guifg=#CCCCCC guibg=NONE gui=NONE ctermfg=darkgray ctermbg=NONE cterm=NONE +"hi javaClassDecl guifg=#CCFFCC guibg=NONE gui=NONE ctermfg=white ctermbg=NONE cterm=NONE + + +" Special for XML +hi link xmlTag Keyword +hi link xmlTagName Conditional +hi link xmlEndTag Identifier + + +" Special for HTML +hi link htmlTag Keyword +hi link htmlTagName Conditional +hi link htmlEndTag Identifier + + +" Special for Javascript +hi link javaScriptNumber Number + + +" Special for Python +"hi link pythonEscape Keyword + + +" Special for CSharp +hi link csXmlTag Keyword + + +" Special for PHP diff --git a/syntax/glsl.vim b/syntax/glsl.vim new file mode 100644 index 0000000..23dffa8 --- /dev/null +++ b/syntax/glsl.vim @@ -0,0 +1,265 @@ +" Vim syntax file the OpenGL Shading Language +" Language: GLSL +" Author: Nathan Cournia +" Date: June 30, 2004 +" File Types: .frag .vert .glsl .fp .vp +" Version: 1.10.00 +" Notes: Adapted from c.vim - Bram Moolenaar +" Adapted from cg.vim - Kevin Bjorke + +" For version 5.x: Clear all syntax items +" For version 6.x: Quit when a syntax file was already loaded +if version < 600 + syntax clear +elseif exists("b:current_syntax") + finish +endif + +" a bunch of useful keywords +syn keyword glslConditional if else +syn keyword glslStatement break return continue discard +syn keyword glslRepeat while for do +syn keyword glslTodo contained TODO FIXME XXX + +" glslCommentGroup allows adding matches for special things in comments +syn cluster glslCommentGroup contains=glslTodo + +"catch errors caused by wrong parenthesis and brackets +syn cluster glslParenGroup contains=glslParenError,glslIncluded,glslSpecial,glslCommentSkip,glslCommentString,glslComment2String,@glslCommentGroup,glslCommentStartError,glslUserCont,glslUserLabel,glslBitField,glslCommentSkip,glslOctalZero,glslCppOut,glslCppOut2,glslCppSkip,glslFormat,glslNumber,glslFloat,glslOctal,glslOctalError,glslNumbersCom +if exists("c_no_bracket_error") + syn region glslParen transparent start='(' end=')' contains=ALLBUT,@glslParenGroup,glslCppParen,glslCppString + " glslCppParen: same as glslParen but ends at end-of-line; used in glslDefine + syn region glslCppParen transparent start='(' skip='\\$' excludenl end=')' end='$' contained contains=ALLBUT,@glslParenGroup,glslParen,glslString + syn match glslParenError display ")" + syn match glslErrInParen display contained "[{}]" +else + syn region glslParen transparent start='(' end=')' contains=ALLBUT,@glslParenGroup,glslCppParen,glslErrInBracket,glslCppBracket,glslCppString + " glslCppParen: same as glslParen but ends at end-of-line; used in glslDefine + syn region glslCppParen transparent start='(' skip='\\$' excludenl end=')' end='$' contained contains=ALLBUT,@glslParenGroup,glslErrInBracket,glslParen,glslBracket,glslString + syn match glslParenError display "[\])]" + syn match glslErrInParen display contained "[\]{}]" + syn region glslBracket transparent start='\[' end=']' contains=ALLBUT,@glslParenGroup,glslErrInParen,glslCppParen,glslCppBracket,glslCppString + " glslCppBracket: same as glslParen but ends at end-of-line; used in glslDefine + syn region glslCppBracket transparent start='\[' skip='\\$' excludenl end=']' end='$' contained contains=ALLBUT,@glslParenGroup,glslErrInParen,glslParen,glslBracket,glslString + syn match glslErrInBracket display contained "[);{}]" +endif + +"integer number, or floating point number without a dot and with "f". +syn case ignore +syn match glslNumbers display transparent "\<\d\|\.\d" contains=glslNumber,glslFloat,glslOctalError,glslOctal +" Same, but without octal error (for comments) +syn match glslNumbersCom display contained transparent "\<\d\|\.\d" contains=glslNumber,glslFloat,glslOctal +syn match glslNumber display contained "\d\+\(u\=l\{0,2}\|ll\=u\)\>" +"hex number +syn match glslNumber display contained "0x\x\+\(u\=l\{0,2}\|ll\=u\)\>" +" Flag the first zero of an octal number as something special +syn match glslOctal display contained "0\o\+\(u\=l\{0,2}\|ll\=u\)\>" contains=glslOctalZero +syn match glslOctalZero display contained "\<0" +syn match glslFloat display contained "\d\+f" +"floating point number, with dot, optional exponent +syn match glslFloat display contained "\d\+\.\d*\(e[-+]\=\d\+\)\=[fl]\=" +"floating point number, starting with a dot, optional exponent +syn match glslFloat display contained "\.\d\+\(e[-+]\=\d\+\)\=[fl]\=\>" +"floating point number, without dot, with exponent +syn match glslFloat display contained "\d\+e[-+]\=\d\+[fl]\=\>" +" flag an octal number with wrong digits +syn match glslOctalError display contained "0\o*[89]\d*" +syn case match + +if exists("c_comment_strings") + " A comment can contain glslString, glslCharacter and glslNumber. + " But a "*/" inside a glslString in a glslComment DOES end the comment! So we + " need to use a special type of glslString: glslCommentString, which also ends on + " "*/", and sees a "*" at the start of the line as glslomment again. + " Unfortunately this doesn't very well work for // type of comments :-( + syntax match glslCommentSkip contained "^\s*\*\($\|\s\+\)" + syntax region glslCommentString contained start=+L\=\\\@" skip="\\$" end="$" end="//"me=s-1 contains=glslComment,glslCppString,glslCharacter,glslCppParen,glslParenError,glslNumbers,glslCommentError,glslSpaceError +syn match glslPreCondit display "^\s*#\s*\(else\|endif\)\>" +syn region glslCppOut start="^\s*#\s*if\s\+0\+\>" end=".\|$" contains=glslCppOut2 +syn region glslCppOut2 contained start="0" end="^\s*#\s*\(endif\>\|else\>\|elif\>\)" contains=glslSpaceError,glslCppSkip +syn region glslCppSkip contained start="^\s*#\s*\(if\>\|ifdef\>\|ifndef\>\)" skip="\\$" end="^\s*#\s*endif\>" contains=glslSpaceError,glslCppSkip +"syn match glslLineSkip "\\$" +syn cluster glslPreProglslGroup contains=glslPreCondit,glslIncluded,glslInclude,glslDefine,glslErrInParen,glslErrInBracket,glslUserLabel,glslSpecial,glslOctalZero,glslCppOut,glslCppOut2,glslCppSkip,glslFormat,glslNumber,glslFloat,glslOctal,glslOctalError,glslNumbersCom,glslString,glslCommentSkip,glslCommentString,glslComment2String,@glslCommentGroup,glslCommentStartError,glslParen,glslBracket,glslMulti +syn region glslDefine start="^\s*#\s*\(define\|undef\)\>" skip="\\$" end="$" end="//"me=s-1 contains=ALLBUT,@glslPreProglslGroup +syn region glslPreProc start="^\s*#\s*\(pragma\>\|line\>\|error\>\|version\>\|extension\>\)" skip="\\$" end="$" keepend contains=ALLBUT,@glslPreProglslGroup + +" Highlight User Labels +syn cluster glslMultiGroup contains=glslIncluded,glslSpecial,glslCommentSkip,glslCommentString,glslComment2String,@glslCommentGroup,glslCommentStartError,glslUserCont,glslUserLabel,glslBitField,glslOctalZero,glslCppOut,glslCppOut2,glslCppSkip,glslFormat,glslNumber,glslFloat,glslOctal,glslOctalError,glslNumbersCom,glslCppParen,glslCppBracket,glslCppString +syn region glslMulti transparent start='?' skip='::' end=':' contains=ALLBUT,@glslMultiGroup +" Avoid matching foo::bar() in C++ by requiring that the next char is not ':' +syn cluster glslLabelGroup contains=glslUserLabel +syn match glslUserCont display "^\s*\I\i*\s*:$" contains=@glslLabelGroup +syn match glslUserCont display ";\s*\I\i*\s*:$" contains=@glslLabelGroup +syn match glslUserCont display "^\s*\I\i*\s*:[^:]"me=e-1 contains=@glslLabelGroup +syn match glslUserCont display ";\s*\I\i*\s*:[^:]"me=e-1 contains=@glslLabelGroup + +syn match glslUserLabel display "\I\i*" contained + +" Avoid recognizing most bitfields as labels +syn match glslBitField display "^\s*\I\i*\s*:\s*[1-9]"me=e-1 +syn match glslBitField display ";\s*\I\i*\s*:\s*[1-9]"me=e-1 + +syn keyword glslState gl_Position gl_PointSize gl_ClipVertex +syn keyword glslState gl_FragCoord gl_FrontFacing gl_FragColor gl_FragData gl_FragDepth + +" vertex attributes +syn keyword glslState gl_Color gl_SecondaryColor gl_Normal gl_Vertex gl_FogCoord +syn match glslState display "gl_MultiTexCoord\d\+" + +" varying variables +syn keyword glslState gl_FrontColor gl_BackColor gl_FrontSecondaryColor gl_BackSecondaryColor gl_TexCoord gl_FogFragCoord + +" uniforms +syn keyword glslUniform gl_ModelViewMatrix gl_ProjectionMatrix gl_ModelViewProjectionMatrix gl_NormalMatrix gl_TextureMatrix +syn keyword glslUniform gl_NormalScale gl_DepthRange gl_ClipPlane gl_Point gl_FrontMaterial gl_BackMaterial +syn keyword glslUniform gl_LightSource gl_LightModel gl_FrontLightModelProduct gl_BackLightModelProduct +syn keyword glslUniform gl_FrontLightProduct gl_BackLightProduct glTextureEnvColor +syn keyword glslUniform gl_TextureEnvColor gl_Fog +syn match glslUniform display "gl_EyePlane[STRQ]" +syn match glslUniform display "gl_ObjectPlane[STRQ]" +syn keyword glslUniform gl_ModelViewMatrixInverse gl_ProjectionMatrixInverse gl_ModelViewProjectionMatrixInverse +syn keyword glslUniform gl_TextureMatrixInverse gl_ModelViewMatrixTranspose gl_ProjectionMatrixTranspose +syn keyword glslUniform gl_ModelViewProjectionMatrixTranspose gl_TextureMatrixTranspose gl_ModelViewMatrixInverseTranspose +syn keyword glslUniform gl_ProjectionMatrixInverseTranspose gl_ModelViewProjectionMatrixInverseTranspose gl_TextureMatrixInverseTranspose + +" uniform types +syn keyword glslType gl_DepthRangeParameters gl_PointParameters gl_MaterialParameters +syn keyword glslType gl_LightSourceParameters gl_LightModelParameters gl_LightModelProducts +syn keyword glslType gl_LightProducts gl_FogParameters + +" constants +syn keyword glslConstant gl_MaxLights gl_MaxClipPlanes gl_MaxTextureUnits gl_MaxTextureCoords gl_MaxVertexAttribs +syn keyword glslConstant gl_MaxVertexUniformComponents gl_MaxVaryingFloats gl_MaxVertexTextureImageUnits +syn keyword glslConstant gl_MaxCombinedTextureImageUnits gl_MaxTextureImageUnits gl_MaxFragmentUniformComponents +syn keyword glslConstant gl_MaxDrawBuffers + +" swizzling +syn match glslSwizzle /\.[xyzw]\{1,4\}\>/ +syn match glslSwizzle /\.[rgba]\{1,4\}\>/ +syn match glslSwizzle /\.[stpq]\{1,4\}\>/ + +" built in functions +syn keyword glslFunc radians degrees sin cos tan asin acos atan pow exp2 log2 sqrt inversesqrt +syn keyword glslFunc abs sign floor ceil fract mod min max clamp mix step smoothstep +syn keyword glslFunc length distance dot cross normalize ftransform faceforward reflect +syn keyword glslFunc matrixcompmult lessThan lessThanEqual greaterThan greaterThanEqual equal notEqual any all not +syn keyword glslFunc texture1D texture1DProj texture1DLod texture1DProjLod +syn keyword glslFunc texture2D texture2DProj texture2DLod texture2DProjLod +syn keyword glslFunc texture3D texture3DProj texture3DLod texture3DProjLod +syn keyword glslFunc textureCube textureCubeLod +syn keyword glslFunc shadow1D shadow1DProj shadow1DLod shadow1DProjLod +syn keyword glslFunc shadow2D shadow2DProj shadow2DLod shadow2DProjLod +syn keyword glslFunc dFdx dFdy fwidth noise1 noise2 noise3 noise4 +syn keyword glslFunc refract exp log + +" highlight unsupported keywords +syn keyword glslUnsupported asm +syn keyword glslUnsupported class union enum typedef template this packed +syn keyword glslUnsupported goto switch default +syn keyword glslUnsupported inline noinline volatile public static extern external interface +syn keyword glslUnsupported long short double half fixed unsigned +syn keyword glslUnsupported input output +syn keyword glslUnsupported hvec2 hvec3 hvec4 dvec2 dvec3 dvec4 fvec2 fvec3 fvec4 +syn keyword glslUnsupported sampler2DRect sampler3DRect sampler2DRectShadow +syn keyword glslUnsupported sizeof cast +syn keyword glslUnsupported namespace using + +"wtf? +"let b:c_minlines = 50 " #if 0 constructs can be long +"exec "syn sync ccomment glslComment minlines=" . b:c_minlines + +" Define the default highlighting. +" For version 5.7 and earlier: only when not done already +" For version 5.8 and later: only when an item doesn't have highlighting yet +if version >= 508 || !exists("did_glsl_syn_inits") + if version < 508 + let did_glsl_syn_inits = 1 + command -nargs=+ HiLink hi link + else + command -nargs=+ HiLink hi def link + endif + + HiLink glslFormat glslSpecial + HiLink glslCppString glslString + HiLink glslCommentL glslComment + HiLink glslCommentStart glslComment + HiLink glslLabel Label + HiLink glslUserLabel Label + HiLink glslConditional Conditional + HiLink glslRepeat Repeat + HiLink glslCharacter Character + HiLink glslSpecialCharacter glslSpecial + HiLink glslNumber Number + HiLink glslOctal Number + HiLink glslOctalZero PreProc " link this to Error if you want + HiLink glslFloat Float + HiLink glslOctalError glslError + HiLink glslParenError glslError + HiLink glslErrInParen glslError + HiLink glslErrInBracket glslError + HiLink glslCommentError glslError + HiLink glslCommentStartError glslError + HiLink glslSpaceError glslError + HiLink glslSpecialError glslError + HiLink glslOperator Operator + HiLink glslStructure Structure + HiLink glslStorageClass StorageClass + HiLink glslInclude Include + HiLink glslPreProc PreProc + HiLink glslDefine Macro + HiLink glslIncluded glslString + HiLink glslError Error + HiLink glslStatement Statement + HiLink glslPreCondit PreCondit + HiLink glslType Type + HiLink glslConstant Constant + HiLink glslCommentString glslString + HiLink glslComment2String glslString + HiLink glslCommentSkip glslComment + HiLink glslString String + HiLink glslComment Comment + HiLink glslSpecial SpecialChar + HiLink glslSwizzle SpecialChar + HiLink glslTodo Todo + HiLink glslCppSkip glslCppOut + HiLink glslCppOut2 glslCppOut + HiLink glslCppOut Comment + HiLink glslUniform glslType + HiLink glslState glslType + HiLink glslFunc glslStatement + HiLink glslUnsupported glslError + + delcommand HiLink +endif + +let b:current_syntax = "glsl" + +" vim: ts=8 diff --git a/vimrc b/vimrc new file mode 100644 index 0000000..63be736 --- /dev/null +++ b/vimrc @@ -0,0 +1,161 @@ +" Use Vim settings, rather then Vi settings (much better!). +" This must be first, because it changes other options as a side effect. +set nocompatible + +" Only do this part when compiled with support for autocommands. +if has("autocmd") + + " Enable file type detection. + " Use the default filetype settings, so that mail gets 'tw' set to 72, + " 'cindent' is on in C files, etc. + " Also load indent files, to automatically do language-dependent indenting. + filetype plugin indent on + + " Put these in an autocmd group, so that we can delete them easily. + augroup vimrcEx + au! + + " For all text files set 'textwidth' to 78 characters. + autocmd FileType text setlocal textwidth=78 + + " When editing a file, always jump to the last known cursor position. + " Don't do it when the position is invalid or when inside an event handler + " (happens when dropping a file on gvim). + autocmd BufReadPost * + \ if line("'\"") > 0 && line("'\"") <= line("$") | + \ exe "normal! g`\"" | + \ endif + + augroup END + +else + + set autoindent " always set autoindenting on + +endif " has("autocmd") + +set ruler +set expandtab +set tabstop=4 +set shiftwidth=4 +set softtabstop=4 +set autoindent +set copyindent +set cindent +set backspace=indent,eol,start +set mouse=a +syntax on +set hlsearch +set showmatch +set incsearch +set tags=./tags;/ +let Tlist_WinWidth = 40 +set grepprg=internal +set tabpagemax=999 +set nobackup +set nowritebackup +set wildmode=longest,list,full +set splitright + +" GUI settings +set background=dark +set showtabline=1 +set nomousehide + +if has("gui_running") + colorscheme ir_black + runtime ftplugin/man.vim + nmap K :Man + set lines=50 + set scrolloff=8 + if &diff + set columns=175 + endif + set guioptions-=m " remove menu bar + set guioptions-=T " remove toolbar + set colorcolumn=80 + hi ColorColumn guibg=#220000 +else + set scrolloff=4 +endif + +if has("win32") || has("win64") + set directory=$TMP +endif + +" mappings +map ,# :set paste O75A#yypO#73A A#0ll:set nopaste R +map ,p :set paste o#73A A#0ll:set nopaste R +map ,* :set paste O/74A*o 73A*A/O * :set nopaste A +map ,; :set paste O;74A*o;*72A A*o;74A*0klll:set nopaste R +map ,8 :set paste o20A-A8<20A-:set nopaste 0 +map ,m mz:%s/ //g :noh 'z +map ,t :tabn +map ,T :tabp +map ,s mz:%s/\v\s+$// 'z +map ,f :set ts=8 :retab :set ts=4 +map ,C ggVGc +" jump to tag in a new tab +map ,w :tab :tag  +"nnoremap :TlistToggle +" re-indent the following line how vim would automatically do it +map ,j Ji  +map  :cn +map  :cp +" copy searched-for symbol to clipboard +nnoremap * :let @+=expand("")* + +" highlight characters past column 80 +map ,L :highlight TooLong guibg=lightyellow :match TooLong '\%>80v.*.$' + +" flag more than 80 characters in a row as an error +" 3match error '\%>80v.\+' + +if has("autocmd") + autocmd FileType text setlocal noautoindent +" autocmd FileType c match error /\v\s+$/ +" autocmd FileType c 2match error /\t/ +" autocmd FileType cpp 2match error /\t/ + autocmd FileType c syn match Constant display "\<[A-Z_][A-Z_0-9]*\>" + autocmd FileType cpp syn match Constant display "\<[A-Z_][A-Z_0-9]*\>" + autocmd FileType dosbatch syn match Comment "^@rem\($\|\s.*$\)"lc=4 contains=dosbatchTodo,@dosbatchNumber,dosbatchVariable,dosbatchArgument + au BufRead,BufNewFile *.dxl set filetype=dxl + autocmd FileType dxl set syntax=cpp + " open all buffers in a new tab +" au BufAdd,BufNewFile * nested tab sball +" install glsl.vim in ~/.vim/syntax to use syntax highlighting for GLSL: + au BufNewFile,BufWinEnter *.frag,*.vert,*.fp,*.vp,*.glsl setf glsl + autocmd Syntax {cpp,c,idl} runtime syntax/doxygen.vim + autocmd QuickFixCmdPre grep copen + autocmd QuickFixCmdPre vimgrep copen + autocmd FileType html setlocal sw=2 ts=2 sts=2 + autocmd FileType xhtml setlocal sw=2 ts=2 sts=2 + autocmd FileType xml setlocal sw=2 ts=2 sts=2 + autocmd FileType yaml setlocal sw=2 ts=2 sts=2 + autocmd FileType ruby setlocal sw=2 ts=2 sts=2 +endif " has("autocmd") + +if !exists('s:loaded') + let s:loaded = 0 +endif + +if s:loaded + delfunction Bwmatch + delcommand Bwmatch +endif + +function Bwmatch(exp) + let last = bufnr('$') + let index = 0 + while index <= last + if bufexists(index) && bufname(index) =~ a:exp + execute ':bw ' . index + endif + let index += 1 + endwhile + redraw! +endfunction + +command -nargs=1 Bwmatch :call Bwmatch('') + +let s:loaded = 1