summaryrefslogtreecommitdiffstats
path: root/.vim/ftplugin/c.vim
diff options
context:
space:
mode:
Diffstat (limited to '.vim/ftplugin/c.vim')
-rw-r--r--.vim/ftplugin/c.vim436
1 files changed, 436 insertions, 0 deletions
diff --git a/.vim/ftplugin/c.vim b/.vim/ftplugin/c.vim
new file mode 100644
index 0000000..1a4b473
--- /dev/null
+++ b/.vim/ftplugin/c.vim
@@ -0,0 +1,436 @@
+" ------------------------------------------------------------------------------
+"
+" Vim filetype plugin file
+"
+" Language : C / C++
+" Plugin : c.vim
+" Maintainer : Fritz Mehner <mehner@fh-swf.de>
+" Revision : $Id: c.vim,v 1.57 2010/02/05 13:21:11 mehner Exp $
+"
+" ------------------------------------------------------------------------------
+"
+" Only do this when not done yet for this buffer
+"
+if exists("b:did_C_ftplugin")
+ finish
+endif
+let b:did_C_ftplugin = 1
+"
+" ---------- Do we have a mapleader other than '\' ? ------------
+"
+if exists("g:C_MapLeader")
+ let maplocalleader = g:C_MapLeader
+endif
+"
+" ---------- C/C++ dictionary -----------------------------------
+" This will enable keyword completion for C and C++
+" using Vim's dictionary feature |i_CTRL-X_CTRL-K|.
+" Set the new dictionaries in front of the existing ones
+"
+if exists("g:C_Dictionary_File")
+ let save=&dictionary
+ silent! exe 'setlocal dictionary='.g:C_Dictionary_File
+ silent! exe 'setlocal dictionary+='.save
+endif
+"
+" ---------- F-key mappings ------------------------------------
+"
+" Alt-F9 write buffer and compile
+" F9 compile and link
+" Ctrl-F9 run executable
+" Shift-F9 command line arguments
+"
+ map <buffer> <silent> <A-F9> :call C_Compile()<CR>:call C_HlMessage()<CR>
+imap <buffer> <silent> <A-F9> <C-C>:call C_Compile()<CR>:call C_HlMessage()<CR>
+"
+ map <buffer> <silent> <F9> :call C_Link()<CR>:call C_HlMessage()<CR>
+imap <buffer> <silent> <F9> <C-C>:call C_Link()<CR>:call C_HlMessage()<CR>
+"
+ map <buffer> <silent> <C-F9> :call C_Run()<CR>
+imap <buffer> <silent> <C-F9> <C-C>:call C_Run()<CR>
+"
+ map <buffer> <silent> <S-F9> :call C_Arguments()<CR>
+imap <buffer> <silent> <S-F9> <C-C>:call C_Arguments()<CR>
+"
+" ---------- alternate file plugin (a.vim) ----------------------
+"
+if exists("loaded_alternateFile")
+ map <buffer> <silent> <S-F2> :A<CR>
+imap <buffer> <silent> <S-F2> <C-C>:A<CR>
+endif
+"
+command! -nargs=1 -complete=customlist,C_CFileSectionList CFileSection call C_CFileSectionListInsert (<f-args>)
+command! -nargs=1 -complete=customlist,C_HFileSectionList HFileSection call C_HFileSectionListInsert (<f-args>)
+command! -nargs=1 -complete=customlist,C_KeywordCommentList KeywordComment call C_KeywordCommentListInsert (<f-args>)
+command! -nargs=1 -complete=customlist,C_SpecialCommentList SpecialComment call C_SpecialCommentListInsert (<f-args>)
+command! -nargs=1 -complete=customlist,C_StdLibraryIncludesList IncludeStdLibrary call C_StdLibraryIncludesInsert (<f-args>)
+command! -nargs=1 -complete=customlist,C_C99LibraryIncludesList IncludeC99Library call C_C99LibraryIncludesInsert (<f-args>)
+command! -nargs=1 -complete=customlist,C_CppLibraryIncludesList IncludeCppLibrary call C_CppLibraryIncludesInsert (<f-args>)
+command! -nargs=1 -complete=customlist,C_CppCLibraryIncludesList IncludeCppCLibrary call C_CppCLibraryIncludesInsert(<f-args>)
+command! -nargs=1 -complete=customlist,C_StyleList CStyle call C_Style (<f-args>)
+
+" ---------- KEY MAPPINGS : MENU ENTRIES -------------------------------------
+" ---------- comments menu ------------------------------------------------
+"
+ noremap <buffer> <silent> <LocalLeader>cl :call C_LineEndComment()<CR>
+inoremap <buffer> <silent> <LocalLeader>cl <Esc>:call C_LineEndComment()<CR>
+vnoremap <buffer> <silent> <LocalLeader>cl <Esc>:call C_MultiLineEndComments()<CR>a
+ noremap <buffer> <silent> <LocalLeader>cj :call C_AdjustLineEndComm("a")<CR>
+vnoremap <buffer> <silent> <LocalLeader>cj <Esc>:call C_AdjustLineEndComm("v")<CR>
+inoremap <buffer> <silent> <LocalLeader>cj <Esc>:call C_AdjustLineEndComm("a")<CR>a
+ noremap <buffer> <silent> <LocalLeader>cs :call C_GetLineEndCommCol()<CR>
+
+ noremap <buffer> <silent> <LocalLeader>c* :call C_CodeComment("a","yes")<CR>:nohlsearch<CR>j
+vnoremap <buffer> <silent> <LocalLeader>c* <Esc>:call C_CodeComment("v","yes")<CR>:nohlsearch<CR>j
+
+ noremap <buffer> <silent> <LocalLeader>cc :call C_CodeComment("a","no")<CR>:nohlsearch<CR>j
+vnoremap <buffer> <silent> <LocalLeader>cc <Esc>:call C_CodeComment("v","no")<CR>:nohlsearch<CR>j
+ noremap <buffer> <silent> <LocalLeader>co :call C_CommentCode("a")<CR>:nohlsearch<CR>
+vnoremap <buffer> <silent> <LocalLeader>co <Esc>:call C_CommentCode("v")<CR>:nohlsearch<CR>
+
+ noremap <buffer> <silent> <LocalLeader>cfr :call C_InsertTemplate("comment.frame")<CR>
+ noremap <buffer> <silent> <LocalLeader>cfu :call C_InsertTemplate("comment.function")<CR>
+ noremap <buffer> <silent> <LocalLeader>cme :call C_InsertTemplate("comment.method")<CR>
+ noremap <buffer> <silent> <LocalLeader>ccl :call C_InsertTemplate("comment.class")<CR>
+ noremap <buffer> <silent> <LocalLeader>cfdi :call C_InsertTemplate("comment.file-description")<CR>
+ noremap <buffer> <silent> <LocalLeader>cfdh :call C_InsertTemplate("comment.file-description-header")<CR>
+
+inoremap <buffer> <silent> <LocalLeader>cfr <Esc>:call C_InsertTemplate("comment.frame")<CR>
+inoremap <buffer> <silent> <LocalLeader>cfu <Esc>:call C_InsertTemplate("comment.function")<CR>
+inoremap <buffer> <silent> <LocalLeader>cme <Esc>:call C_InsertTemplate("comment.method")<CR>
+inoremap <buffer> <silent> <LocalLeader>ccl <Esc>:call C_InsertTemplate("comment.class")<CR>
+inoremap <buffer> <silent> <LocalLeader>cfdi <Esc>:call C_InsertTemplate("comment.file-description")<CR>
+inoremap <buffer> <silent> <LocalLeader>cfdh <Esc>:call C_InsertTemplate("comment.file-description-header")<CR>
+
+ noremap <buffer> <silent> <LocalLeader>cd <Esc>:call C_InsertDateAndTime('d')<CR>
+inoremap <buffer> <silent> <LocalLeader>cd <Esc>:call C_InsertDateAndTime('d')<CR>a
+vnoremap <buffer> <silent> <LocalLeader>cd s<Esc>:call C_InsertDateAndTime('d')<CR>a
+ noremap <buffer> <silent> <LocalLeader>ct <Esc>:call C_InsertDateAndTime('dt')<CR>
+inoremap <buffer> <silent> <LocalLeader>ct <Esc>:call C_InsertDateAndTime('dt')<CR>a
+vnoremap <buffer> <silent> <LocalLeader>ct s<Esc>:call C_InsertDateAndTime('dt')<CR>a
+"
+" call the above defined commands:
+"
+ noremap <buffer> <LocalLeader>ccs <Esc>:CFileSection<Space>
+ noremap <buffer> <LocalLeader>chs <Esc>:HFileSection<Space>
+ noremap <buffer> <LocalLeader>ckc <Esc>:KeywordComment<Space>
+ noremap <buffer> <LocalLeader>csc <Esc>:SpecialComment<Space>
+"
+inoremap <buffer> <LocalLeader>ccs <Esc>:CFileSection<Space>
+inoremap <buffer> <LocalLeader>chs <Esc>:HFileSection<Space>
+inoremap <buffer> <LocalLeader>ckc <Esc>:KeywordComment<Space>
+inoremap <buffer> <LocalLeader>csc <Esc>:SpecialComment<Space>
+"
+" ---------- statements menu ------------------------------------------------
+"
+ noremap <buffer> <silent> <LocalLeader>sd :call C_InsertTemplate("statements.do-while")<CR>
+vnoremap <buffer> <silent> <LocalLeader>sd <Esc>:call C_InsertTemplate("statements.do-while", "v")<CR>
+inoremap <buffer> <silent> <LocalLeader>sd <Esc>:call C_InsertTemplate("statements.do-while")<CR>
+
+ noremap <buffer> <silent> <LocalLeader>sf :call C_InsertTemplate("statements.for")<CR>
+inoremap <buffer> <silent> <LocalLeader>sf <Esc>:call C_InsertTemplate("statements.for")<CR>
+
+ noremap <buffer> <silent> <LocalLeader>sfo :call C_InsertTemplate("statements.for-block")<CR>
+vnoremap <buffer> <silent> <LocalLeader>sfo <Esc>:call C_InsertTemplate("statements.for-block", "v")<CR>
+inoremap <buffer> <silent> <LocalLeader>sfo <Esc>:call C_InsertTemplate("statements.for-block")<CR>
+
+ noremap <buffer> <silent> <LocalLeader>si :call C_InsertTemplate("statements.if")<CR>
+inoremap <buffer> <silent> <LocalLeader>si <Esc>:call C_InsertTemplate("statements.if")<CR>
+
+ noremap <buffer> <silent> <LocalLeader>sif :call C_InsertTemplate("statements.if-block")<CR>
+vnoremap <buffer> <silent> <LocalLeader>sif <Esc>:call C_InsertTemplate("statements.if-block", "v")<CR>
+inoremap <buffer> <silent> <LocalLeader>sif <Esc>:call C_InsertTemplate("statements.if-block")<CR>
+
+ noremap <buffer> <silent> <LocalLeader>sie :call C_InsertTemplate("statements.if-else")<CR>
+vnoremap <buffer> <silent> <LocalLeader>sie <Esc>:call C_InsertTemplate("statements.if-else", "v")<CR>
+inoremap <buffer> <silent> <LocalLeader>sie <Esc>:call C_InsertTemplate("statements.if-else")<CR>
+
+ noremap <buffer> <silent> <LocalLeader>sife :call C_InsertTemplate("statements.if-block-else")<CR>
+vnoremap <buffer> <silent> <LocalLeader>sife <Esc>:call C_InsertTemplate("statements.if-block-else", "v")<CR>
+inoremap <buffer> <silent> <LocalLeader>sife <Esc>:call C_InsertTemplate("statements.if-block-else")<CR>
+
+ noremap <buffer> <silent> <LocalLeader>se :call C_InsertTemplate("statements.else-block")<CR>
+vnoremap <buffer> <silent> <LocalLeader>se <Esc>:call C_InsertTemplate("statements.else-block", "v")<CR>
+inoremap <buffer> <silent> <LocalLeader>se <Esc>:call C_InsertTemplate("statements.else-block")<CR>
+
+ noremap <buffer> <silent> <LocalLeader>sw :call C_InsertTemplate("statements.while")<CR>
+inoremap <buffer> <silent> <LocalLeader>sw <Esc>:call C_InsertTemplate("statements.while")<CR>
+
+ noremap <buffer> <silent> <LocalLeader>swh :call C_InsertTemplate("statements.while-block")<CR>
+vnoremap <buffer> <silent> <LocalLeader>swh <Esc>:call C_InsertTemplate("statements.while-block", "v")<CR>
+inoremap <buffer> <silent> <LocalLeader>swh <Esc>:call C_InsertTemplate("statements.while-block")<CR>
+
+ noremap <buffer> <silent> <LocalLeader>ss :call C_InsertTemplate("statements.switch")<CR>
+vnoremap <buffer> <silent> <LocalLeader>ss <Esc>:call C_InsertTemplate("statements.switch", "v")<CR>
+inoremap <buffer> <silent> <LocalLeader>ss <Esc>:call C_InsertTemplate("statements.switch")<CR>
+
+ noremap <buffer> <silent> <LocalLeader>sc :call C_InsertTemplate("statements.case")<CR>
+inoremap <buffer> <silent> <LocalLeader>sc <Esc>:call C_InsertTemplate("statements.case")<CR>
+
+ noremap <buffer> <silent> <LocalLeader>s{ :call C_InsertTemplate("statements.block")<CR>
+vnoremap <buffer> <silent> <LocalLeader>s{ <Esc>:call C_InsertTemplate("statements.block", "v")<CR>
+inoremap <buffer> <silent> <LocalLeader>s{ <Esc>:call C_InsertTemplate("statements.block")<CR>
+
+ noremap <buffer> <silent> <LocalLeader>sb :call C_InsertTemplate("statements.block")<CR>
+vnoremap <buffer> <silent> <LocalLeader>sb <Esc>:call C_InsertTemplate("statements.block", "v")<CR>
+inoremap <buffer> <silent> <LocalLeader>sb <Esc>:call C_InsertTemplate("statements.block")<CR>
+"
+" ---------- preprocessor menu ----------------------------------------------
+""
+ noremap <buffer> <LocalLeader>ps :IncludeStdLibrary<Space>
+inoremap <buffer> <LocalLeader>ps <Esc>:IncludeStdLibrary<Space>
+ noremap <buffer> <LocalLeader>pc :IncludeC99Library<Space>
+inoremap <buffer> <LocalLeader>pc <Esc>:IncludeC99Library<Space>
+ noremap <buffer> <LocalLeader>+ps :IncludeCppLibrary<Space>
+inoremap <buffer> <LocalLeader>+ps <Esc>:IncludeCppLibrary<Space>
+ noremap <buffer> <LocalLeader>+pc :IncludeCppCLibrary<Space>
+inoremap <buffer> <LocalLeader>+pc <Esc>:IncludeCppC9Library<Space>
+"
+ noremap <buffer> <silent> <LocalLeader>p< :call C_InsertTemplate("preprocessor.include-global")<CR>
+ noremap <buffer> <silent> <LocalLeader>p" :call C_InsertTemplate("preprocessor.include-local")<CR>
+ noremap <buffer> <silent> <LocalLeader>pd :call C_InsertTemplate("preprocessor.define")<CR>
+ noremap <buffer> <silent> <LocalLeader>pu :call C_InsertTemplate("preprocessor.undefine")<CR>
+"
+inoremap <buffer> <silent> <LocalLeader>p< <Esc>:call C_InsertTemplate("preprocessor.include-global")<CR>
+inoremap <buffer> <silent> <LocalLeader>p" <Esc>:call C_InsertTemplate("preprocessor.include-local")<CR>
+inoremap <buffer> <silent> <LocalLeader>pd <Esc>:call C_InsertTemplate("preprocessor.define")<CR>
+inoremap <buffer> <silent> <LocalLeader>pu <Esc>:call C_InsertTemplate("preprocessor.undefine")<CR>
+
+ noremap <buffer> <silent> <LocalLeader>pie :call C_InsertTemplate("preprocessor.if-else-endif")<CR>
+ noremap <buffer> <silent> <LocalLeader>pid :call C_InsertTemplate("preprocessor.ifdef-else-endif")<CR>
+ noremap <buffer> <silent> <LocalLeader>pin :call C_InsertTemplate("preprocessor.ifndef-else-endif")<CR>
+ noremap <buffer> <silent> <LocalLeader>pind :call C_InsertTemplate("preprocessor.ifndef-def-endif")<CR>
+
+vnoremap <buffer> <silent> <LocalLeader>pie <Esc>:call C_InsertTemplate("preprocessor.if-else-endif", "v")<CR>
+vnoremap <buffer> <silent> <LocalLeader>pid <Esc>:call C_InsertTemplate("preprocessor.ifdef-else-endif", "v")<CR>
+vnoremap <buffer> <silent> <LocalLeader>pin <Esc>:call C_InsertTemplate("preprocessor.ifndef-else-endif", "v")<CR>
+vnoremap <buffer> <silent> <LocalLeader>pind <Esc>:call C_InsertTemplate("preprocessor.ifndef-def-endif", "v")<CR>
+
+inoremap <buffer> <silent> <LocalLeader>pie <Esc>:call C_InsertTemplate("preprocessor.if-else-endif")<CR>
+inoremap <buffer> <silent> <LocalLeader>pid <Esc>:call C_InsertTemplate("preprocessor.ifdef-else-endif")<CR>
+inoremap <buffer> <silent> <LocalLeader>pin <Esc>:call C_InsertTemplate("preprocessor.ifndef-else-endif")<CR>
+inoremap <buffer> <silent> <LocalLeader>pind <Esc>:call C_InsertTemplate("preprocessor.ifndef-def-endif")<CR>
+
+ noremap <buffer> <silent> <LocalLeader>pi0 :call C_PPIf0("a")<CR>2ji
+inoremap <buffer> <silent> <LocalLeader>pi0 <Esc>:call C_PPIf0("a")<CR>2ji
+vnoremap <buffer> <silent> <LocalLeader>pi0 <Esc>:call C_PPIf0("v")<CR>
+
+ noremap <buffer> <silent> <LocalLeader>pr0 :call C_PPIf0Remove()<CR>
+inoremap <buffer> <silent> <LocalLeader>pr0 <Esc>:call C_PPIf0Remove()<CR>
+"
+ noremap <buffer> <silent> <LocalLeader>pe :call C_InsertTemplate("preprocessor.error")<CR>
+ noremap <buffer> <silent> <LocalLeader>pl :call C_InsertTemplate("preprocessor.line")<CR>
+ noremap <buffer> <silent> <LocalLeader>pp :call C_InsertTemplate("preprocessor.pragma")<CR>
+"
+inoremap <buffer> <silent> <LocalLeader>pe <Esc>:call C_InsertTemplate("preprocessor.error")<CR>
+inoremap <buffer> <silent> <LocalLeader>pl <Esc>:call C_InsertTemplate("preprocessor.line")<CR>
+inoremap <buffer> <silent> <LocalLeader>pp <Esc>:call C_InsertTemplate("preprocessor.pragma")<CR>
+"
+" ---------- idioms menu ----------------------------------------------------
+"
+ noremap <buffer> <silent> <LocalLeader>if :call C_InsertTemplate("idioms.function")<CR>
+vnoremap <buffer> <silent> <LocalLeader>if <Esc>:call C_InsertTemplate("idioms.function", "v")<CR>
+inoremap <buffer> <silent> <LocalLeader>if <Esc>:call C_InsertTemplate("idioms.function")<CR>
+ noremap <buffer> <silent> <LocalLeader>isf :call C_InsertTemplate("idioms.function-static")<CR>
+vnoremap <buffer> <silent> <LocalLeader>isf <Esc>:call C_InsertTemplate("idioms.function-static", "v")<CR>
+inoremap <buffer> <silent> <LocalLeader>isf <Esc>:call C_InsertTemplate("idioms.function-static")<CR>
+ noremap <buffer> <silent> <LocalLeader>im :call C_InsertTemplate("idioms.main")<CR>
+vnoremap <buffer> <silent> <LocalLeader>im <Esc>:call C_InsertTemplate("idioms.main", "v")<CR>
+inoremap <buffer> <silent> <LocalLeader>im <Esc>:call C_InsertTemplate("idioms.main")<CR>
+"
+ noremap <buffer> <silent> <LocalLeader>i0 :call C_CodeFor("up" , "a")<CR>
+vnoremap <buffer> <silent> <LocalLeader>i0 <Esc>:call C_CodeFor("up" , "v")<CR>
+inoremap <buffer> <silent> <LocalLeader>i0 <Esc>:call C_CodeFor("up" , "a")<CR>i
+ noremap <buffer> <silent> <LocalLeader>in :call C_CodeFor("down", "a")<CR>
+vnoremap <buffer> <silent> <LocalLeader>in <Esc>:call C_CodeFor("down", "v")<CR>
+inoremap <buffer> <silent> <LocalLeader>in <Esc>:call C_CodeFor("down", "a")<CR>i
+"
+ noremap <buffer> <silent> <LocalLeader>ie :call C_InsertTemplate("idioms.enum")<CR>
+vnoremap <buffer> <silent> <LocalLeader>ie <Esc>:call C_InsertTemplate("idioms.enum" , "v")<CR>
+inoremap <buffer> <silent> <LocalLeader>ie <Esc>:call C_InsertTemplate("idioms.enum")<CR>
+ noremap <buffer> <silent> <LocalLeader>is :call C_InsertTemplate("idioms.struct")<CR>
+vnoremap <buffer> <silent> <LocalLeader>is <Esc>:call C_InsertTemplate("idioms.struct", "v")<CR>
+inoremap <buffer> <silent> <LocalLeader>is <Esc>:call C_InsertTemplate("idioms.struct")<CR>
+ noremap <buffer> <silent> <LocalLeader>iu :call C_InsertTemplate("idioms.union")<CR>
+vnoremap <buffer> <silent> <LocalLeader>iu <Esc>:call C_InsertTemplate("idioms.union" , "v")<CR>
+inoremap <buffer> <silent> <LocalLeader>iu <Esc>:call C_InsertTemplate("idioms.union")<CR>
+"
+ noremap <buffer> <silent> <LocalLeader>ip :call C_InsertTemplate("idioms.printf")<CR>
+inoremap <buffer> <silent> <LocalLeader>ip <Esc>:call C_InsertTemplate("idioms.printf")<CR>
+ noremap <buffer> <silent> <LocalLeader>isc :call C_InsertTemplate("idioms.scanf")<CR>
+inoremap <buffer> <silent> <LocalLeader>isc <Esc>:call C_InsertTemplate("idioms.scanf")<CR>
+"
+ noremap <buffer> <silent> <LocalLeader>ica :call C_InsertTemplate("idioms.calloc")<CR>
+inoremap <buffer> <silent> <LocalLeader>ica <Esc>:call C_InsertTemplate("idioms.calloc")<CR>
+ noremap <buffer> <silent> <LocalLeader>ima :call C_InsertTemplate("idioms.malloc")<CR>
+inoremap <buffer> <silent> <LocalLeader>ima <Esc>:call C_InsertTemplate("idioms.malloc")<CR>
+"
+ noremap <buffer> <silent> <LocalLeader>isi :call C_InsertTemplate("idioms.sizeof")<CR>
+inoremap <buffer> <silent> <LocalLeader>isi <Esc>:call C_InsertTemplate("idioms.sizeof")<CR>
+vnoremap <buffer> <silent> <LocalLeader>isi <Esc>:call C_InsertTemplate("idioms.sizeof", "v")<CR>
+
+ noremap <buffer> <silent> <LocalLeader>ias :call C_InsertTemplate("idioms.assert")<CR>
+vnoremap <buffer> <silent> <LocalLeader>ias <Esc>:call C_InsertTemplate("idioms.assert", "v")<CR>
+inoremap <buffer> <silent> <LocalLeader>ias <Esc>:call C_InsertTemplate("idioms.assert")<CR>
+"
+ noremap <buffer> <silent> <LocalLeader>ii :call C_InsertTemplate("idioms.open-input-file")<CR>
+inoremap <buffer> <silent> <LocalLeader>ii <Esc>:call C_InsertTemplate("idioms.open-input-file")<CR>
+vnoremap <buffer> <silent> <LocalLeader>ii <Esc>:call C_InsertTemplate("idioms.open-input-file", "v")<CR>
+ noremap <buffer> <silent> <LocalLeader>io :call C_InsertTemplate("idioms.open-output-file")<CR>
+inoremap <buffer> <silent> <LocalLeader>io <Esc>:call C_InsertTemplate("idioms.open-output-file")<CR>
+vnoremap <buffer> <silent> <LocalLeader>io <Esc>:call C_InsertTemplate("idioms.open-output-file", "v")<CR>
+"
+" ---------- snippet menu ----------------------------------------------------
+"
+ noremap <buffer> <silent> <LocalLeader>nr :call C_CodeSnippet("r")<CR>
+ noremap <buffer> <silent> <LocalLeader>nw :call C_CodeSnippet("w")<CR>
+vnoremap <buffer> <silent> <LocalLeader>nw <Esc>:call C_CodeSnippet("wv")<CR>
+ noremap <buffer> <silent> <LocalLeader>ne :call C_CodeSnippet("e")<CR>
+"
+inoremap <buffer> <silent> <LocalLeader>nr <Esc>:call C_CodeSnippet("r")<CR>
+inoremap <buffer> <silent> <LocalLeader>nw <Esc>:call C_CodeSnippet("w")<CR>
+inoremap <buffer> <silent> <LocalLeader>ne <Esc>:call C_CodeSnippet("e")<CR>
+"
+ noremap <buffer> <silent> <LocalLeader>np :call C_ProtoPick("n")<CR>
+vnoremap <buffer> <silent> <LocalLeader>np <Esc>:call C_ProtoPick("v")<CR>
+ noremap <buffer> <silent> <LocalLeader>ni :call C_ProtoInsert()<CR>
+ noremap <buffer> <silent> <LocalLeader>nc :call C_ProtoClear()<CR>
+ noremap <buffer> <silent> <LocalLeader>ns :call C_ProtoShow()<CR>
+"
+inoremap <buffer> <silent> <LocalLeader>np <Esc>:call C_ProtoPick("n")<CR>
+inoremap <buffer> <silent> <LocalLeader>ni <Esc>:call C_ProtoInsert()<CR>
+inoremap <buffer> <silent> <LocalLeader>nc <Esc>:call C_ProtoClear()<CR>
+inoremap <buffer> <silent> <LocalLeader>ns <Esc>:call C_ProtoShow()<CR>
+"
+ noremap <buffer> <silent> <LocalLeader>ntl :call C_EditTemplates("local")<CR>
+ noremap <buffer> <silent> <LocalLeader>ntg :call C_EditTemplates("global")<CR>
+ noremap <buffer> <silent> <LocalLeader>ntr :call C_RereadTemplates()<CR>
+ noremap <buffer> <LocalLeader>nts <Esc>:CStyle<Space>
+"
+" ---------- C++ menu ----------------------------------------------------
+"
+ noremap <buffer> <silent> <LocalLeader>+co :call C_InsertTemplate("cpp.cout")<CR>
+inoremap <buffer> <silent> <LocalLeader>+co <Esc>:call C_InsertTemplate("cpp.cout")<CR>
+"
+ noremap <buffer> <silent> <LocalLeader>+c :call C_InsertTemplate("cpp.class-definition")<CR>
+inoremap <buffer> <silent> <LocalLeader>+c <Esc>:call C_InsertTemplate("cpp.class-definition")<CR>
+ noremap <buffer> <silent> <LocalLeader>+cn :call C_InsertTemplate("cpp.class-using-new-definition")<CR>
+inoremap <buffer> <silent> <LocalLeader>+cn <Esc>:call C_InsertTemplate("cpp.class-using-new-definition")<CR>
+
+ noremap <buffer> <silent> <LocalLeader>+ci :call C_InsertTemplate("cpp.class-implementation")<CR>
+inoremap <buffer> <silent> <LocalLeader>+ci <Esc>:call C_InsertTemplate("cpp.class-implementation")<CR>
+ noremap <buffer> <silent> <LocalLeader>+cni :call C_InsertTemplate("cpp.class-using-new-implementation")<CR>
+inoremap <buffer> <silent> <LocalLeader>+cni <Esc>:call C_InsertTemplate("cpp.class-using-new-implementation")<CR>
+
+ noremap <buffer> <silent> <LocalLeader>+mi :call C_InsertTemplate("cpp.method-implementation")<CR>
+inoremap <buffer> <silent> <LocalLeader>+mi <Esc>:call C_InsertTemplate("cpp.method-implementation")<CR>
+ noremap <buffer> <silent> <LocalLeader>+ai :call C_InsertTemplate("cpp.accessor-implementation")<CR>
+inoremap <buffer> <silent> <LocalLeader>+ai <Esc>:call C_InsertTemplate("cpp.accessor-implementation")<CR>
+
+ noremap <buffer> <silent> <LocalLeader>+tc :call C_InsertTemplate("cpp.template-class-definition")<CR>
+inoremap <buffer> <silent> <LocalLeader>+tc <Esc>:call C_InsertTemplate("cpp.template-class-definition")<CR>
+ noremap <buffer> <silent> <LocalLeader>+tcn :call C_InsertTemplate("cpp.template-class-using-new-definition")<CR>
+inoremap <buffer> <silent> <LocalLeader>+tcn <Esc>:call C_InsertTemplate("cpp.template-class-using-new-definition")<CR>
+
+ noremap <buffer> <silent> <LocalLeader>+tci :call C_InsertTemplate("cpp.template-class-implementation")<CR>
+inoremap <buffer> <silent> <LocalLeader>+tci <Esc>:call C_InsertTemplate("cpp.template-class-implementation")<CR>
+ noremap <buffer> <silent> <LocalLeader>+tcni :call C_InsertTemplate("cpp.template-class-using-new-implementation")<CR>
+inoremap <buffer> <silent> <LocalLeader>+tcni <Esc>:call C_InsertTemplate("cpp.template-class-using-new-implementation")<CR>
+
+ noremap <buffer> <silent> <LocalLeader>+tmi :call C_InsertTemplate("cpp.template-method-implementation")<CR>
+inoremap <buffer> <silent> <LocalLeader>+tmi <Esc>:call C_InsertTemplate("cpp.template-method-implementation")<CR>
+ noremap <buffer> <silent> <LocalLeader>+tai :call C_InsertTemplate("cpp.template-accessor-implementation")<CR>
+inoremap <buffer> <silent> <LocalLeader>+tai <Esc>:call C_InsertTemplate("cpp.template-accessor-implementation")<CR>
+
+ noremap <buffer> <silent> <LocalLeader>+tf :call C_InsertTemplate("cpp.template-function")<CR>
+inoremap <buffer> <silent> <LocalLeader>+tf <Esc>:call C_InsertTemplate("cpp.template-function")<CR>
+
+ noremap <buffer> <silent> <LocalLeader>+ec :call C_InsertTemplate("cpp.error-class")<CR>
+inoremap <buffer> <silent> <LocalLeader>+ec <Esc>:call C_InsertTemplate("cpp.error-class")<CR>
+
+ noremap <buffer> <silent> <LocalLeader>+tr :call C_InsertTemplate("cpp.try-catch")<CR>
+vnoremap <buffer> <silent> <LocalLeader>+tr <Esc>:call C_InsertTemplate("cpp.try-catch", "v")<CR>
+inoremap <buffer> <silent> <LocalLeader>+tr <Esc>:call C_InsertTemplate("cpp.try-catch")<CR>
+
+ noremap <buffer> <silent> <LocalLeader>+ca :call C_InsertTemplate("cpp.catch")<CR>
+vnoremap <buffer> <silent> <LocalLeader>+ca <Esc>:call C_InsertTemplate("cpp.catch", "v")<CR>
+inoremap <buffer> <silent> <LocalLeader>+ca <Esc>:call C_InsertTemplate("cpp.catch")<CR>
+
+ noremap <buffer> <silent> <LocalLeader>+c. :call C_InsertTemplate("cpp.catch-points")<CR>
+vnoremap <buffer> <silent> <LocalLeader>+c. <Esc>:call C_InsertTemplate("cpp.catch-points", "v")<CR>
+inoremap <buffer> <silent> <LocalLeader>+c. <Esc>:call C_InsertTemplate("cpp.catch-points")<CR>
+"
+" ---------- run menu --------------------------------------------------------
+"
+ map <buffer> <silent> <LocalLeader>rc :call C_Compile()<CR>:call C_HlMessage()<CR>
+ map <buffer> <silent> <LocalLeader>rl :call C_Link()<CR>:call C_HlMessage()<CR>
+ map <buffer> <silent> <LocalLeader>rr :call C_Run()<CR>
+ map <buffer> <silent> <LocalLeader>ra :call C_Arguments()<CR>
+ map <buffer> <silent> <LocalLeader>rm :call C_Make()<CR>
+ map <buffer> <silent> <LocalLeader>rg :call C_MakeArguments()<CR>
+ map <buffer> <silent> <LocalLeader>rp :call C_SplintCheck()<CR>:call C_HlMessage()<CR>
+ map <buffer> <silent> <LocalLeader>ri :call C_SplintArguments()<CR>
+ map <buffer> <silent> <LocalLeader>rd :call C_Indent()<CR>
+ map <buffer> <silent> <LocalLeader>rh :call C_Hardcopy("n")<CR>
+ map <buffer> <silent> <LocalLeader>rs :call C_Settings()<CR>
+"
+vmap <buffer> <silent> <LocalLeader>rh <C-C>:call C_Hardcopy("v")<CR>
+"
+imap <buffer> <silent> <LocalLeader>rc <C-C>:call C_Compile()<CR>:call C_HlMessage()<CR>
+imap <buffer> <silent> <LocalLeader>rl <C-C>:call C_Link()<CR>:call C_HlMessage()<CR>
+imap <buffer> <silent> <LocalLeader>rr <C-C>:call C_Run()<CR>
+imap <buffer> <silent> <LocalLeader>ra <C-C>:call C_Arguments()<CR>
+imap <buffer> <silent> <LocalLeader>rm <C-C>:call C_Make()<CR>
+imap <buffer> <silent> <LocalLeader>rg <C-C>:call C_MakeArguments()<CR>
+imap <buffer> <silent> <LocalLeader>rp <C-C>:call C_SplintCheck()<CR>:call C_HlMessage()<CR>
+imap <buffer> <silent> <LocalLeader>ri <C-C>:call C_SplintArguments()<CR>
+imap <buffer> <silent> <LocalLeader>rd <C-C>:call C_Indent()<CR>
+imap <buffer> <silent> <LocalLeader>rh <C-C>:call C_Hardcopy("n")<CR>
+imap <buffer> <silent> <LocalLeader>rs <C-C>:call C_Settings()<CR>
+ if has("unix")
+ map <buffer> <silent> <LocalLeader>rx :call C_XtermSize()<CR>
+ imap <buffer> <silent> <LocalLeader>rx <C-C>:call C_XtermSize()<CR>
+ endif
+ map <buffer> <silent> <LocalLeader>ro :call C_Toggle_Gvim_Xterm()<CR>
+imap <buffer> <silent> <LocalLeader>ro <C-C>:call C_Toggle_Gvim_Xterm()<CR>
+"
+" Abraxas CodeCheck (R)
+"
+if executable("check")
+ map <buffer> <silent> <LocalLeader>rk :call C_CodeCheck()<CR>:call C_HlMessage()<CR>
+ map <buffer> <silent> <LocalLeader>re :call C_CodeCheckArguments()<CR>
+ imap <buffer> <silent> <LocalLeader>rk <C-C>:call C_CodeCheck()<CR>:call C_HlMessage()<CR>
+ imap <buffer> <silent> <LocalLeader>re <C-C>:call C_CodeCheckArguments()<CR>
+endif
+" ---------- plugin help -----------------------------------------------------
+"
+ map <buffer> <silent> <LocalLeader>hp :call C_HelpCsupport()<CR>
+imap <buffer> <silent> <LocalLeader>hp <C-C>:call C_HelpCsupport()<CR>
+ map <buffer> <silent> <LocalLeader>hm :call C_Help("m")<CR>
+imap <buffer> <silent> <LocalLeader>hm <C-C>:call C_Help("m")<CR>
+"
+"-------------------------------------------------------------------------------
+" additional mapping : complete a classical C comment: '/*' => '/* | */'
+"-------------------------------------------------------------------------------
+inoremap <buffer> /* /*<Space><Space>*/<Left><Left><Left>
+vnoremap <buffer> /* s/*<Space><Space>*/<Left><Left><Left><Esc>p
+"
+"-------------------------------------------------------------------------------
+" additional mapping : complete a classical C multi-line comment:
+" '/*<CR>' => /*
+" * |
+" */
+"-------------------------------------------------------------------------------
+inoremap <buffer> /*<CR> /*<CR><CR>/<Esc>kA<Space>
+"
+"-------------------------------------------------------------------------------
+" additional mapping : {<CR> always opens a block
+"-------------------------------------------------------------------------------
+inoremap <buffer> {<CR> {<CR>}<Esc>O
+vnoremap <buffer> {<CR> S{<CR>}<Esc>Pk=iB
+"
+"
+if !exists("g:C_Ctrl_j") || ( exists("g:C_Ctrl_j") && g:C_Ctrl_j != 'off' )
+ nmap <buffer> <silent> <C-j> i<C-R>=C_JumpCtrlJ()<CR>
+ imap <buffer> <silent> <C-j> <C-R>=C_JumpCtrlJ()<CR>
+endif