citadel

My dotfiles, scripts and nix configs
git clone git://jb55.com/citadel
Log | Files | Refs | README | LICENSE

c.vim (21341B)


      1 " Vim filetype plugin file
      2 "
      3 "   Language :  C / C++
      4 "     Plugin :  c.vim (version 5.1)
      5 " Maintainer :  Fritz Mehner <mehner@fh-swf.de>
      6 "   Revision :  $Id: c.vim,v 1.23 2008/03/12 16:26:03 mehner Exp $
      7 "
      8 " This will enable keyword completion for C and C++
      9 " using Vim's dictionary feature |i_CTRL-X_CTRL-K|.
     10 " -----------------------------------------------------------------
     11 "
     12 " Only do this when not done yet for this buffer
     13 " 
     14 if exists("b:did_C_ftplugin")
     15   finish
     16 endif
     17 let b:did_C_ftplugin = 1
     18 "
     19 " ---------- C/C++ dictionary -----------------------------------
     20 " 
     21 if exists("g:C_Dictionary_File")
     22     silent! exec 'setlocal dictionary+='.g:C_Dictionary_File
     23 endif    
     24 "
     25 " ---------- F-key mappings  ------------------------------------
     26 "
     27 "   Alt-F9   write buffer and compile
     28 "       F9   compile and link
     29 "  Ctrl-F9   run executable
     30 " Shift-F9   command line arguments
     31 "
     32  map  <buffer>  <silent>  <A-F9>       <C-C>:call C_Compile()<CR>:redraw<CR>:call C_HlMessage()<CR>
     33 imap  <buffer>  <silent>  <A-F9>  <C-C><C-C>:call C_Compile()<CR>:redraw<CR>:call C_HlMessage()<CR>
     34 "
     35  map  <buffer>  <silent>    <F9>       <C-C>:call C_Link()<CR>:redraw<CR>:call C_HlMessage()<CR>
     36 imap  <buffer>  <silent>    <F9>  <C-C><C-C>:call C_Link()<CR>:redraw<CR>:call C_HlMessage()<CR>
     37 "
     38 " <C-C> seems to be essential here:
     39  map  <buffer>  <silent>  <C-F9>       <C-C>:call C_Run()<CR>
     40 imap  <buffer>  <silent>  <C-F9>  <C-C><C-C>:call C_Run()<CR>
     41 "
     42  map  <buffer>  <silent>  <S-F9>       <C-C>:call C_Arguments()<CR>
     43 imap  <buffer>  <silent>  <S-F9>  <C-C><C-C>:call C_Arguments()<CR>
     44 "
     45 " alternate file plugin
     46 "
     47 " ---------- KEY MAPPINGS : MENU ENTRIES -------------------------------------
     48 "
     49 " ---------- comments menu  ------------------------------------------------
     50 "
     51  noremap    <buffer>  <silent>  <Leader>cl    <Esc>:call C_LineEndComment()<CR>
     52 inoremap    <buffer>  <silent>  <Leader>cl    <Esc>:call C_LineEndComment()<CR>a
     53 vnoremap    <buffer>  <silent>  <Leader>cl    <Esc>:call C_MultiLineEndComments()<CR>
     54  noremap    <buffer>  <silent>  <Leader>cj    <Esc>:call C_AdjustLineEndComm("a")<CR>
     55 vnoremap    <buffer>  <silent>  <Leader>cj    <Esc>:call C_AdjustLineEndComm("v")<CR>
     56 inoremap    <buffer>  <silent>  <Leader>cj    <Esc>:call C_AdjustLineEndComm("a")<CR>a
     57  noremap    <buffer>  <silent>  <Leader>cs    <Esc>:call C_GetLineEndCommCol()<CR>
     58 
     59  noremap    <buffer>  <silent>  <Leader>c*    <Esc>:call C_CodeComment("a","yes")<CR><Esc>:nohlsearch<CR>j
     60 vnoremap    <buffer>  <silent>  <Leader>c*    <Esc>:call C_CodeComment("v","yes")<CR><Esc>:nohlsearch<CR>j
     61  noremap    <buffer>  <silent>  <Leader>c/    <Esc>:call C_CodeComment("a","no")<CR><Esc>:nohlsearch<CR>j
     62 vnoremap    <buffer>  <silent>  <Leader>c/    <Esc>:call C_CodeComment("v","no")<CR><Esc>:nohlsearch<CR>j
     63 
     64  noremap    <buffer>  <silent>  <Leader>cc    <Esc>:call C_CodeComment("a","no")<CR><Esc>:nohlsearch<CR>j
     65 vnoremap    <buffer>  <silent>  <Leader>cc    <Esc>:call C_CodeComment("v","no")<CR><Esc>:nohlsearch<CR>j
     66  noremap    <buffer>  <silent>  <Leader>co    <Esc>:call C_CommentCode("a")<CR><Esc>:nohlsearch<CR>
     67 vnoremap    <buffer>  <silent>  <Leader>co    <Esc>:call C_CommentCode("v")<CR><Esc>:nohlsearch<CR>
     68 
     69  noremap    <buffer>  <silent>  <Leader>cfr   <Esc>:call C_InsertTemplate("comment.frame")<CR>
     70  noremap    <buffer>  <silent>  <Leader>cfu   <Esc>:call C_InsertTemplate("comment.function")<CR>
     71  noremap    <buffer>  <silent>  <Leader>cme   <Esc>:call C_InsertTemplate("comment.method")<CR>
     72  noremap    <buffer>  <silent>  <Leader>ccl   <Esc>:call C_InsertTemplate("comment.class")<CR>
     73 
     74 inoremap    <buffer>  <silent>  <Leader>cfr   <Esc>:call C_InsertTemplate("comment.frame")<CR>
     75 inoremap    <buffer>  <silent>  <Leader>cfu   <Esc>:call C_InsertTemplate("comment.function")<CR>
     76 inoremap    <buffer>  <silent>  <Leader>cme   <Esc>:call C_InsertTemplate("comment.method")<CR>
     77 inoremap    <buffer>  <silent>  <Leader>ccl   <Esc>:call C_InsertTemplate("comment.class")<CR>
     78 
     79  noremap    <buffer>  <silent>  <Leader>cd    a<C-R>=C_InsertDateAndTime('d')<CR>
     80 inoremap    <buffer>  <silent>  <Leader>cd     <C-R>=C_InsertDateAndTime('d')<CR>
     81  noremap    <buffer>  <silent>  <Leader>ct    a<C-R>=C_InsertDateAndTime('dt')<CR>
     82 inoremap    <buffer>  <silent>  <Leader>ct     <C-R>=C_InsertDateAndTime('dt')<CR>
     83 "
     84 " ---------- statements menu  ------------------------------------------------
     85 "
     86  noremap    <buffer>  <silent>  <Leader>sd    <Esc>:call C_InsertTemplate("statements.do-while")<CR>
     87 vnoremap    <buffer>  <silent>  <Leader>sd    <Esc>:call C_InsertTemplate("statements.do-while", "v")<CR>
     88 inoremap    <buffer>  <silent>  <Leader>sd    <Esc>:call C_InsertTemplate("statements.do-while")<CR>
     89 
     90  noremap    <buffer>  <silent>  <Leader>sf    <Esc>:call C_InsertTemplate("statements.for")<CR>
     91 inoremap    <buffer>  <silent>  <Leader>sf    <Esc>:call C_InsertTemplate("statements.for")<CR>
     92 
     93  noremap    <buffer>  <silent>  <Leader>sfo   <Esc>:call C_InsertTemplate("statements.for-block")<CR>
     94 vnoremap    <buffer>  <silent>  <Leader>sfo   <Esc>:call C_InsertTemplate("statements.for-block", "v")<CR>
     95 inoremap    <buffer>  <silent>  <Leader>sfo   <Esc>:call C_InsertTemplate("statements.for-block")<CR>
     96 
     97  noremap    <buffer>  <silent>  <Leader>si    <Esc>:call C_InsertTemplate("statements.if")<CR>
     98 inoremap    <buffer>  <silent>  <Leader>si    <Esc>:call C_InsertTemplate("statements.if")<CR>
     99 
    100  noremap    <buffer>  <silent>  <Leader>sif   <Esc>:call C_InsertTemplate("statements.if-block")<CR>
    101 vnoremap    <buffer>  <silent>  <Leader>sif   <Esc>:call C_InsertTemplate("statements.if-block", "v")<CR>
    102 inoremap    <buffer>  <silent>  <Leader>sif   <Esc>:call C_InsertTemplate("statements.if-block")<CR>
    103 
    104  noremap    <buffer>  <silent>  <Leader>sie   <Esc>:call C_InsertTemplate("statements.if-else")<CR>
    105 vnoremap    <buffer>  <silent>  <Leader>sie   <Esc>:call C_InsertTemplate("statements.if-else", "v")<CR>
    106 inoremap    <buffer>  <silent>  <Leader>sie   <Esc>:call C_InsertTemplate("statements.if-else")<CR>
    107 
    108  noremap    <buffer>  <silent>  <Leader>sife  <Esc>:call C_InsertTemplate("statements.if-block-else")<CR>
    109 vnoremap    <buffer>  <silent>  <Leader>sife  <Esc>:call C_InsertTemplate("statements.if-block-else", "v")<CR>
    110 inoremap    <buffer>  <silent>  <Leader>sife  <Esc>:call C_InsertTemplate("statements.if-block-else")<CR>
    111 
    112  noremap    <buffer>  <silent>  <Leader>sw    <Esc>:call C_InsertTemplate("statements.while")<CR>
    113 inoremap    <buffer>  <silent>  <Leader>sw    <Esc>:call C_InsertTemplate("statements.while")<CR>
    114 
    115  noremap    <buffer>  <silent>  <Leader>swh   <Esc>:call C_InsertTemplate("statements.while-block")<CR>
    116 vnoremap    <buffer>  <silent>  <Leader>swh   <Esc>:call C_InsertTemplate("statements.while-block", "v")<CR>
    117 inoremap    <buffer>  <silent>  <Leader>swh   <Esc>:call C_InsertTemplate("statements.while-block")<CR>
    118 
    119  noremap    <buffer>  <silent>  <Leader>ss    <Esc>:call C_InsertTemplate("statements.switch")<CR>
    120 vnoremap    <buffer>  <silent>  <Leader>ss    <Esc>:call C_InsertTemplate("statements.switch", "v")<CR>
    121 inoremap    <buffer>  <silent>  <Leader>ss    <Esc>:call C_InsertTemplate("statements.switch")<CR>
    122 
    123  noremap    <buffer>  <silent>  <Leader>sc    <Esc>:call C_InsertTemplate("statements.case")<CR>
    124 inoremap    <buffer>  <silent>  <Leader>sc    <Esc>:call C_InsertTemplate("statements.case")<CR>
    125 
    126  noremap    <buffer>  <silent>  <Leader>s{    <Esc>:call C_InsertTemplate("statements.block")<CR>
    127 vnoremap    <buffer>  <silent>  <Leader>s{    <Esc>:call C_InsertTemplate("statements.block", "v")<CR>
    128 inoremap    <buffer>  <silent>  <Leader>s{    <Esc>:call C_InsertTemplate("statements.block")<CR>
    129 "
    130 " ---------- preprocessor menu  ----------------------------------------------
    131 "
    132  noremap    <buffer>  <silent>  <Leader>p<   <Esc><Esc>:call C_InsertTemplate("preprocessor.include-global")<CR>
    133  noremap    <buffer>  <silent>  <Leader>p"   <Esc><Esc>:call C_InsertTemplate("preprocessor.include-local")<CR>
    134  noremap    <buffer>  <silent>  <Leader>pd   <Esc><Esc>:call C_InsertTemplate("preprocessor.define")<CR>
    135  noremap    <buffer>  <silent>  <Leader>pu   <Esc><Esc>:call C_InsertTemplate("preprocessor.undefine")<CR>
    136 "
    137 inoremap    <buffer>  <silent>  <Leader>p<   <Esc><Esc>:call C_InsertTemplate("preprocessor.include-global")<CR>
    138 inoremap    <buffer>  <silent>  <Leader>p"   <Esc><Esc>:call C_InsertTemplate("preprocessor.include-local")<CR>
    139 inoremap    <buffer>  <silent>  <Leader>pd   <Esc><Esc>:call C_InsertTemplate("preprocessor.define")<CR>
    140 inoremap    <buffer>  <silent>  <Leader>pu   <Esc><Esc>:call C_InsertTemplate("preprocessor.undefine")<CR>
    141 
    142  noremap    <buffer>  <silent>  <Leader>pie  <Esc><Esc>:call C_InsertTemplate("preprocessor.if-else-endif")<CR>
    143  noremap    <buffer>  <silent>  <Leader>pid  <Esc><Esc>:call C_InsertTemplate("preprocessor.ifdef-else-endif")<CR>
    144  noremap    <buffer>  <silent>  <Leader>pin  <Esc><Esc>:call C_InsertTemplate("preprocessor.ifndef-else-endif")<CR>
    145  noremap    <buffer>  <silent>  <Leader>pind <Esc><Esc>:call C_InsertTemplate("preprocessor.ifndef-def-endif")<CR>
    146 
    147 vnoremap    <buffer>  <silent>  <Leader>pie  <Esc><Esc>:call C_InsertTemplate("preprocessor.if-else-endif", "v")<CR>
    148 vnoremap    <buffer>  <silent>  <Leader>pid  <Esc><Esc>:call C_InsertTemplate("preprocessor.ifdef-else-endif", "v")<CR>
    149 vnoremap    <buffer>  <silent>  <Leader>pin  <Esc><Esc>:call C_InsertTemplate("preprocessor.ifndef-else-endif", "v")<CR>
    150 vnoremap    <buffer>  <silent>  <Leader>pind <Esc><Esc>:call C_InsertTemplate("preprocessor.ifndef-def-endif", "v")<CR>
    151                                      
    152 inoremap    <buffer>  <silent>  <Leader>pie  <Esc><Esc>:call C_InsertTemplate("preprocessor.if-else-endif")<CR>
    153 inoremap    <buffer>  <silent>  <Leader>pid  <Esc><Esc>:call C_InsertTemplate("preprocessor.ifdef-else-endif")<CR>
    154 inoremap    <buffer>  <silent>  <Leader>pin  <Esc><Esc>:call C_InsertTemplate("preprocessor.ifndef-else-endif")<CR>
    155 inoremap    <buffer>  <silent>  <Leader>pind <Esc><Esc>:call C_InsertTemplate("preprocessor.ifndef-def-endif")<CR>
    156 
    157  noremap    <buffer>  <silent>  <Leader>pi0  <Esc><Esc>:call C_PPIf0("a")<CR>2ji
    158 vnoremap    <buffer>  <silent>  <Leader>pi0  <Esc><Esc>:call C_PPIf0("v")<CR>
    159 inoremap    <buffer>  <silent>  <Leader>pi0  <Esc><Esc>:call C_PPIf0("a")<CR>2ji
    160 
    161  noremap    <buffer>  <silent>  <Leader>pr0  <Esc><Esc>:call C_PPIf0Remove()<CR>
    162 "
    163 " ---------- idioms menu  ----------------------------------------------------
    164 "
    165  noremap    <buffer>  <silent>  <Leader>if    <Esc>:call C_InsertTemplate("idioms.function")<CR>
    166 vnoremap    <buffer>  <silent>  <Leader>if    <Esc>:call C_InsertTemplate("idioms.function", "v")<CR>
    167 inoremap    <buffer>  <silent>  <Leader>if    <Esc>:call C_InsertTemplate("idioms.function")<CR>
    168  noremap    <buffer>  <silent>  <Leader>isf   <Esc>:call C_InsertTemplate("idioms.function-static")<CR>
    169 vnoremap    <buffer>  <silent>  <Leader>isf   <Esc>:call C_InsertTemplate("idioms.function-static", "v")<CR>
    170 inoremap    <buffer>  <silent>  <Leader>isf   <Esc>:call C_InsertTemplate("idioms.function-static")<CR>
    171  noremap    <buffer>  <silent>  <Leader>im    <Esc>:call C_InsertTemplate("idioms.main")<CR>
    172 vnoremap    <buffer>  <silent>  <Leader>im    <Esc>:call C_InsertTemplate("idioms.main", "v")<CR>
    173 inoremap    <buffer>  <silent>  <Leader>im    <Esc>:call C_InsertTemplate("idioms.main")<CR>
    174 "
    175  noremap    <buffer>  <silent>  <Leader>i0    <Esc>:call C_CodeFor("up"  , "a")<CR>a
    176 vnoremap    <buffer>  <silent>  <Leader>i0    <Esc>:call C_CodeFor("up"  , "v")<CR>
    177 inoremap    <buffer>  <silent>  <Leader>i0    <Esc>:call C_CodeFor("up"  , "a")<CR>a
    178  noremap    <buffer>  <silent>  <Leader>in    <Esc>:call C_CodeFor("down", "a")<CR>a
    179 vnoremap    <buffer>  <silent>  <Leader>in    <Esc>:call C_CodeFor("down", "v")<CR>
    180 inoremap    <buffer>  <silent>  <Leader>in    <Esc>:call C_CodeFor("down", "a")<CR>a
    181 "
    182  noremap    <buffer>  <silent>  <Leader>ie    <Esc>:call C_InsertTemplate("idioms.enum")<CR>
    183 vnoremap    <buffer>  <silent>  <Leader>ie    <Esc>:call C_InsertTemplate("idioms.enum"  , "v")<CR>
    184 inoremap    <buffer>  <silent>  <Leader>ie    <Esc>:call C_InsertTemplate("idioms.enum")<CR>
    185  noremap    <buffer>  <silent>  <Leader>is    <Esc>:call C_InsertTemplate("idioms.struct")<CR>
    186 vnoremap    <buffer>  <silent>  <Leader>is    <Esc>:call C_InsertTemplate("idioms.struct", "v")<CR>
    187 inoremap    <buffer>  <silent>  <Leader>is    <Esc>:call C_InsertTemplate("idioms.struct")<CR>
    188  noremap    <buffer>  <silent>  <Leader>iu    <Esc>:call C_InsertTemplate("idioms.union")<CR>
    189 vnoremap    <buffer>  <silent>  <Leader>iu    <Esc>:call C_InsertTemplate("idioms.union" , "v")<CR>
    190 inoremap    <buffer>  <silent>  <Leader>iu    <Esc>:call C_InsertTemplate("idioms.union")<CR>
    191 "
    192  noremap    <buffer>  <silent>  <Leader>ip    <Esc><Esc>:call C_InsertTemplate("idioms.printf")<CR>
    193 inoremap    <buffer>  <silent>  <Leader>ip    <Esc><Esc>:call C_InsertTemplate("idioms.printf")<CR>
    194  noremap    <buffer>  <silent>  <Leader>isc   <Esc><Esc>:call C_InsertTemplate("idioms.scanf")<CR>
    195 inoremap    <buffer>  <silent>  <Leader>isc   <Esc><Esc>:call C_InsertTemplate("idioms.scanf")<CR>
    196 "
    197  noremap    <buffer>  <silent>  <Leader>ica    <Esc>:call C_InsertTemplate("idioms.calloc")
    198 inoremap    <buffer>  <silent>  <Leader>ica    <Esc>:call C_InsertTemplate("idioms.calloc")
    199  noremap    <buffer>  <silent>  <Leader>ima    <Esc>:call C_InsertTemplate("idioms.malloc")<CR>
    200 inoremap    <buffer>  <silent>  <Leader>ima    <Esc>:call C_InsertTemplate("idioms.malloc")<CR>
    201 "
    202  noremap    <buffer>  <silent>  <Leader>isi    <Esc><Esc>:call C_InsertTemplate("idioms.sizeof")<CR>
    203 inoremap    <buffer>  <silent>  <Leader>isi    <Esc><Esc>:call C_InsertTemplate("idioms.sizeof")<CR>
    204 vnoremap    <buffer>  <silent>  <Leader>isi    <Esc><Esc>:call C_InsertTemplate("idioms.sizeof", "v")<CR>
    205 
    206  noremap    <buffer>  <silent>  <Leader>ias   <Esc><Esc>:call C_InsertTemplate("idioms.assert")<CR>
    207 vnoremap    <buffer>  <silent>  <Leader>ias   <Esc><Esc>:call C_InsertTemplate("idioms.assert", "v")<CR>
    208 "
    209  noremap    <buffer>  <silent>  <Leader>ii    <Esc>:call C_InsertTemplate("idioms.open-input-file")<CR>
    210 inoremap    <buffer>  <silent>  <Leader>ii    <Esc>:call C_InsertTemplate("idioms.open-input-file")<CR>
    211 vnoremap    <buffer>  <silent>  <Leader>ii    <Esc>:call C_InsertTemplate("idioms.open-input-file", "v")<CR>
    212  noremap    <buffer>  <silent>  <Leader>io    <Esc>:call C_InsertTemplate("idioms.open-output-file")<CR>
    213 inoremap    <buffer>  <silent>  <Leader>io    <Esc>:call C_InsertTemplate("idioms.open-output-file")<CR>
    214 vnoremap    <buffer>  <silent>  <Leader>io    <Esc>:call C_InsertTemplate("idioms.open-output-file", "v")<CR>
    215 "
    216 " ---------- snippet menu ----------------------------------------------------
    217 "
    218  noremap    <buffer>  <silent>  <Leader>nr    <Esc>:call C_CodeSnippet("r")<CR>
    219  noremap    <buffer>  <silent>  <Leader>nw    <Esc>:call C_CodeSnippet("w")<CR>
    220 vnoremap    <buffer>  <silent>  <Leader>nw    <Esc>:call C_CodeSnippet("wv")<CR>
    221  noremap    <buffer>  <silent>  <Leader>ne    <Esc>:call C_CodeSnippet("e")<CR>
    222 "
    223  noremap    <buffer>  <silent>  <Leader>np    <Esc>:call C_ProtoPick("n")<CR>
    224 vnoremap    <buffer>  <silent>  <Leader>np    <Esc>:call C_ProtoPick("v")<CR>
    225  noremap    <buffer>  <silent>  <Leader>ni    <Esc>:call C_ProtoInsert()<CR>
    226  noremap    <buffer>  <silent>  <Leader>nc    <Esc>:call C_ProtoClear()<CR>
    227  noremap    <buffer>  <silent>  <Leader>ns    <Esc>:call C_ProtoShow()<CR>
    228 "
    229 " ---------- C++ menu ----------------------------------------------------
    230 "
    231  noremap    <buffer>  <silent>  <Leader>+c    <Esc>:call C_InsertTemplate("cpp.class-definition")<CR>
    232 inoremap    <buffer>  <silent>  <Leader>+c    <Esc>:call C_InsertTemplate("cpp.class-definition")<CR>
    233  noremap    <buffer>  <silent>  <Leader>+cn   <Esc>:call C_InsertTemplate("cpp.class-using-new-definition")<CR>
    234 inoremap    <buffer>  <silent>  <Leader>+cn   <Esc>:call C_InsertTemplate("cpp.class-using-new-definition")<CR>
    235 
    236  noremap    <buffer>  <silent>  <Leader>+ci    <Esc>:call C_InsertTemplate("cpp.class-implementation")<CR>
    237 inoremap    <buffer>  <silent>  <Leader>+ci    <Esc>:call C_InsertTemplate("cpp.class-implementation")<CR>
    238  noremap    <buffer>  <silent>  <Leader>+cni   <Esc>:call C_InsertTemplate("cpp.class-using-new-implementation")<CR>
    239 inoremap    <buffer>  <silent>  <Leader>+cni   <Esc>:call C_InsertTemplate("cpp.class-using-new-implementation")<CR>
    240 
    241  noremap    <buffer>  <silent>  <Leader>+mi    <Esc>:call C_InsertTemplate("cpp.method-implementation")<CR>
    242 inoremap    <buffer>  <silent>  <Leader>+mi    <Esc>:call C_InsertTemplate("cpp.method-implementation")<CR>
    243  noremap    <buffer>  <silent>  <Leader>+ai    <Esc>:call C_InsertTemplate("cpp.accessor-implementation")<CR>
    244 inoremap    <buffer>  <silent>  <Leader>+ai    <Esc>:call C_InsertTemplate("cpp.accessor-implementation")<CR>
    245 
    246  noremap    <buffer>  <silent>  <Leader>+tc   <Esc>:call C_InsertTemplate("cpp.template-class-definition")<CR>
    247 inoremap    <buffer>  <silent>  <Leader>+tc   <Esc>:call C_InsertTemplate("cpp.template-class-definition")<CR>
    248  noremap    <buffer>  <silent>  <Leader>+tcn  <Esc>:call C_InsertTemplate("cpp.template-class-using-new-definition")<CR>
    249 inoremap    <buffer>  <silent>  <Leader>+tcn  <Esc>:call C_InsertTemplate("cpp.template-class-using-new-definition")<CR>
    250 
    251  noremap    <buffer>  <silent>  <Leader>+tci   <Esc>:call C_InsertTemplate("cpp.template-class-implementation")<CR>
    252 inoremap    <buffer>  <silent>  <Leader>+tci   <Esc>:call C_InsertTemplate("cpp.template-class-implementation")<CR>
    253  noremap    <buffer>  <silent>  <Leader>+tcni  <Esc>:call C_InsertTemplate("cpp.template-class-using-new-implementation")<CR>
    254 inoremap    <buffer>  <silent>  <Leader>+tcni  <Esc>:call C_InsertTemplate("cpp.template-class-using-new-implementation")<CR>
    255 
    256  noremap    <buffer>  <silent>  <Leader>+tmi   <Esc>:call C_InsertTemplate("cpp.template-method-implementation")<CR>
    257 inoremap    <buffer>  <silent>  <Leader>+tmi   <Esc>:call C_InsertTemplate("cpp.template-method-implementation")<CR>
    258  noremap    <buffer>  <silent>  <Leader>+tai   <Esc>:call C_InsertTemplate("cpp.template-accessor-implementation")<CR>
    259 inoremap    <buffer>  <silent>  <Leader>+tai   <Esc>:call C_InsertTemplate("cpp.template-accessor-implementation")<CR>
    260 
    261  noremap    <buffer>  <silent>  <Leader>+tf   <Esc>:call C_InsertTemplate("cpp.template-function")<CR>
    262 inoremap    <buffer>  <silent>  <Leader>+tf   <Esc>:call C_InsertTemplate("cpp.template-function")<CR>
    263 
    264  noremap    <buffer>  <silent>  <Leader>+ec   <Esc>:call C_InsertTemplate("cpp.error-class")<CR>
    265 inoremap    <buffer>  <silent>  <Leader>+ec   <Esc>:call C_InsertTemplate("cpp.error-class")<CR>
    266 
    267  noremap    <buffer>  <silent>  <Leader>+tr   <Esc>:call C_InsertTemplate("cpp.try-catch")<CR>
    268 vnoremap    <buffer>  <silent>  <Leader>+tr   <Esc>:call C_InsertTemplate("cpp.try-catch", "v")<CR>
    269 inoremap    <buffer>  <silent>  <Leader>+tr   <Esc>:call C_InsertTemplate("cpp.try-catch")<CR>
    270 
    271  noremap    <buffer>  <silent>  <Leader>+ca   <Esc>:call C_InsertTemplate("cpp.catch")<CR>
    272 vnoremap    <buffer>  <silent>  <Leader>+ca   <Esc>:call C_InsertTemplate("cpp.catch", "v")<CR>
    273 inoremap    <buffer>  <silent>  <Leader>+ca   <Esc>:call C_InsertTemplate("cpp.catch")<CR>
    274 
    275  noremap    <buffer>  <silent>  <Leader>+c.   <Esc>:call C_InsertTemplate("cpp.catch-points")<CR>
    276 vnoremap    <buffer>  <silent>  <Leader>+c.   <Esc>:call C_InsertTemplate("cpp.catch-points", "v")<CR>
    277 inoremap    <buffer>  <silent>  <Leader>+c.   <Esc>:call C_InsertTemplate("cpp.catch-points")<CR>
    278 "
    279 " ---------- run menu --------------------------------------------------------
    280 "
    281  map    <buffer>  <silent>  <Leader>rc    <C-C>:call C_Compile()<CR>:redraw<CR>:call C_HlMessage()<CR>
    282  map    <buffer>  <silent>  <Leader>rl    <C-C>:call C_Link()<CR>:redraw<CR>:call C_HlMessage()<CR>
    283  map    <buffer>  <silent>  <Leader>rr    <C-C>:call C_Run()<CR>
    284  map    <buffer>  <silent>  <Leader>ra    <C-C>:call C_Arguments()<CR>
    285  map    <buffer>  <silent>  <Leader>rm    <C-C>:call C_Make()<CR>
    286  map    <buffer>  <silent>  <Leader>rg    <C-C>:call C_MakeArguments()<CR>
    287  map    <buffer>  <silent>  <Leader>rp    <C-C>:call C_SplintCheck()<CR>:redraw<CR>:call C_HlMessage()<CR>
    288  map    <buffer>  <silent>  <Leader>ri    <C-C>:call C_SplintArguments()<CR>
    289  map    <buffer>  <silent>  <Leader>rd    <C-C>:call C_Indent("a")<CR>:redraw<CR>:call C_HlMessage()<CR>
    290 vmap    <buffer>  <silent>  <Leader>rd    <C-C>:call C_Indent("v")<CR>:redraw<CR>:call C_HlMessage()<CR>
    291  map    <buffer>  <silent>  <Leader>rh    <C-C>:call C_Hardcopy("n")<CR>
    292 vmap    <buffer>  <silent>  <Leader>rh    <C-C>:call C_Hardcopy("v")<CR>
    293  map    <buffer>  <silent>  <Leader>rs    <C-C>:call C_Settings()<CR>
    294  map    <buffer>  <silent>  <Leader>rt    <C-C>:call C_RebuildTemplates()<CR>
    295  if	has("unix")
    296 	 map    <buffer>  <silent>  <Leader>rx    <C-C>:call C_XtermSize()<CR>
    297  endif
    298  map    <buffer>  <silent>  <Leader>ro    <C-C>:call C_Toggle_Gvim_Xterm()<CR>
    299 "
    300 " Abraxas CodeCheck (R)
    301 "
    302 if executable("check") 
    303 	map    <buffer>  <silent>  <Leader>rk    <C-C>:call C_CodeCheck()<CR>:redraw<CR>:call C_HlMessage()<CR>
    304 	map    <buffer>  <silent>  <Leader>re    <C-C>:call C_CodeCheckArguments()<CR>
    305 endif
    306 " ---------- plugin help -----------------------------------------------------
    307 "
    308  map    <buffer>  <silent>  <Leader>h    <Esc>:call C_HelpCsupport()<CR>
    309 "