1
0
mirror of https://github.com/amix/vimrc synced 2025-07-07 00:15:00 +08:00

add various usefull plugins from vim.org and sourfeforge

This commit is contained in:
hustcalm
2012-10-21 01:04:08 +08:00
parent eb40e8aa1a
commit 90acee7e47
407 changed files with 171529 additions and 0 deletions

View File

@ -0,0 +1,470 @@
================================================================================
RELEASE NOTES FOR VERSION 5.16.1
================================================================================
- Bugfix: problem with a system-wide installation under Windows (thanks to Ricardo Vrech).
================================================================================
RELEASE NOTES FOR VERSION 5.16
================================================================================
- Plugin loads faster: loading the templates is delayed until the first use.
- Plugin now works with pathogen.vim.
- Menus will always be generated (for the use with :emenu).
- Bugfix: no local templates available with a system-wide installation (thanks to Iain Arnell).
- Several improvements.
================================================================================
RELEASE NOTES FOR VERSION 5.15
================================================================================
- New hotkey \cx C to C++ comments and vice versa.
- Several hotkeys allow a range, e.g. '3\cl' (see help text and c-hotkey.pdf).
- Improved prototype picking: \nf, \np picks up a function prototype,
\nm picks up a method prototype (see documentation for more).
- include-statements will now be inserted in the actual line (before: new line
below the actual line).
- Several minor improvements.
================================================================================
RELEASE NOTES FOR VERSION 5.14
================================================================================
- A makefile can be run with C-F9
- Linking ( Run menu, \rl, \rr ) will be suppressed if buffer contains no main function.
- Bugfix: correctly deactivate unwanted compiler messages in a quickfix buffer.
- Several minor improvements
================================================================================
RELEASE NOTES FOR VERSION 5.13
================================================================================
- New hotkeys \rmc (run 'make clean') and \rme (executable to run).
- Hotkeys for make are working when in a makefile.
- Linker errors and errors during a make will be shown in a quickfix buffer.
- Bugfix: detection of a systemwide installation can fail.
- Bugfix: preprocessor directive '#if 0 #endif' not working.
================================================================================
RELEASE NOTES FOR VERSION 5.12
================================================================================
- New hotkeys \+" .
- Windows: user installation now possible.
- Bugfixe: for-idiom shows part of type definition as variable name in some cases.
- Bugfixe: wrong cursor position for some templates.
================================================================================
RELEASE NOTES FOR VERSION 5.11
================================================================================
- New tag {CURSOR} to avoid indent problems in a few cases.
- Three hotkeys renamed \rg -> \rma , \ri -> \rpa , \re -> \rka (better to remember).
- 'long long' added to the for-idioms.
- Bugfixes: for-idiom shows type as variable name if no variable name was given.
- Bugfixes: for-idiom inserts standard types with 2+ words wrong.
- Bugfixes: multiline end-of-line comments have wrong position in some cases.
- Bugfixes: local installation looks like a system-wide installation in seldom cases.
================================================================================
RELEASE NOTES FOR VERSION 5.10
================================================================================
- The plugin now handles different template styles without editing and
reloading the main template file.
- The number of template styles is not limited.
- New hotkey and ex-command to switch template styles.
- Template styles can automatically be related to file extensions.
- indent(1) errors will be presented in a quickfix error window.
- Comment alignment improved.
- Minor improvements.
================================================================================
RELEASE NOTES FOR VERSION 5.9
================================================================================
+ Two additional hotkeys (+ ex commands) for preprocessor statements.
+ Compile-link-run: improved error detection.
+ Menu Run: hardcopy can print any buffer.
+ Several minor improvements and bugfixes.
================================================================================
RELEASE NOTES FOR VERSION 5.8
================================================================================
+ Hotkeys are shown in the menus.
+ File browser for code snippets and templates choosable (2 global variables).
+ Two new hotkeys: include file description (implementation, header).
+ New menu item: namespace alias
+ Bugfix: wrapper script for use of a xterm could not handle parameters containing blanks.
+ Several minor improvements.
================================================================================
RELEASE NOTES FOR VERSION 5.7
================================================================================
+ 4 new hotkeys : insert file section comments (C/C++/H), special comments,
keyword comments.
+ Adjusting end-of-line comment adjustment improved.
================================================================================
RELEASE NOTES FOR VERSION 5.6
================================================================================
+ Jump targets (templates) and mapping Ctrl-j can be switched off.
+ Yet unused jump targets will be highlighted after a file is opened.
+ Statements menu: else block (key mapping \se).
+ Handling of <SPLIT> improved (templates).
+ Minor improvements.
================================================================================
RELEASE NOTES FOR VERSION 5.5
================================================================================
+ Additional plugin-tags (jump targets in templates): <+text+>, <-text->.
+ Additional mapping Ctrl-j : jump to these new targets.
+ Template-file: additional macro |STYLE| and IF-ENDIF-construct to easily
choose between sets of templates.
+ Additional mapping: auto-complete classical C comment (also multi-line).
+ Additional mapping: auto-complete open block starting with {<CR> .
+ Visual mode for date and time insertion (menu 'Comments').
+ Visual mode for tags (submenu 'Comments->tags (plugin)').
+ Bugfix: hotkey \ica not working
+ Bugfix: hotkey Shift-F2 for the alternate-plugin disappeared.
=======================================================================================
RELEASE NOTES FOR VERSION 5.4
=======================================================================================
+ New hotkey \+co inserts ' cout << << endl;'
+ New menu item C++-menu: 'cout' replaces 'cout variable' and 'cout string'.
+ Hotkey \c/ removed ( \cc does the same).
+ Bugfix: after an unsuccessful compilation screen sometimes garbled.
=======================================================================================
RELEASE NOTES FOR VERSION 5.3
=======================================================================================
+ Insertions work properly when folding is used.
+ Menu items Idioms->for(...) : type declaration for loop variable possible (tab completion).
+ Specification of command line arguments (Run->cmd. line arg.): filename completion active.
+ New main menu item 'show manual' (hotkey \hm): read manual for word under cursor.
+ One hotkey renamed: \h -> \hp (help plugin)
=======================================================================================
RELEASE NOTES FOR VERSION 5.2.1
=======================================================================================
+ Bugfix: stray characters whith three dialogs
+ Bugfix: Missing parameter in 2 internal function calls
+ Menu items 'Snippets->edit local/global templates' start an file browser (convenience).
=======================================================================================
RELEASE NOTES FOR VERSION 5.2
=======================================================================================
+ Superfluous control characters for mode switching (menus, hotkeys) removed. Caused beeps.
+ Template files (local/global) can be opened from the snippet menu.
+ Three new preprocessor statements.
+ v-mode for RTTI-entries.
=======================================================================================
RELEASE NOTES FOR VERSION 5.1
=======================================================================================
+ Definition and implementation of classes have now different templates and menu entries.
+ Accessor methods (get/set) can be generated.
+ New templates: everything other than language keywords comes from a template
(and is user changeable).
=======================================================================================
RELEASE NOTES FOR VERSION 5.0.5
=======================================================================================
+ Bugfix: on a few systems doubling of path components in the run command (F9).
Skip this upgrade if you do not have this problem.
=======================================================================================
RELEASE NOTES FOR VERSION 5.0.4
=======================================================================================
+ Format for the macros |DATE|, |TIME|, and |YEAR| can be defined by the user.
+ Help text improved.
=======================================================================================
RELEASE NOTES FOR VERSION 5.0.3
=======================================================================================
+ Code snippets can now be used in the console mode (Vim without GUI).
+ Bugfix: Possible conflict with 'indent' removed when inserting templates.
=======================================================================================
RELEASE NOTES FOR VERSION 5.0.2
=======================================================================================
+ Bugfix: Prototype picker did not alway delete no longer used prototypes.
+ Bugfix: Prototype picker removed template specializations from parameter lists.
=======================================================================================
RELEASE NOTES FOR VERSION 5.0.1
=======================================================================================
+ Bugfix: autocmd setting can influence autocmd settings of OTHER plugins.
=======================================================================================
RELEASE NOTES FOR VERSION 5.0
=======================================================================================
+ Completely new template system. Now every menu item is user definable.
+ Changes to allow a system-wide installation.
+ A few hotkeys added and renamed.
=======================================================================================
RELEASE NOTES FOR VERSION 4.6.1
=======================================================================================
+ New global variable to control the filetype of *.h header files (default is now 'cpp').
+ Bugfix: properly resetting 'compiler' after using make, splint, and CodeCheck.
=======================================================================================
RELEASE NOTES FOR VERSION 4.6
=======================================================================================
+ New insert mode mappings (comments, statements, preprocessing, idioms, C++).
+ Some mappings renamed (easier to remember).
+ New tag (basename of a file reduced to characters allowed in names).
=======================================================================================
RELEASE NOTES FOR VERSION 4.5
=======================================================================================
+ New menu item and hotkey for the (re)alignement of end-of-line comments.
+ Hotkey \cn removed. Only one menu item for end-of-line comments left.
+ Changed hotkeys: \ce -> \cl and \cl -> \cs .
+ Three new tags (giving the basename of a file) for writing template files.
+ Prototype picker handles template methods.
+ Bugfix: splint works now under Windows.
+ Minor improvements.
=======================================================================================
RELEASE NOTES FOR VERSION 4.4
=======================================================================================
+ Plugin directories rearranged.
+ main- and for-idiom have a visual mode now.
+ Four new commands (command line) to control the comment style.
+ Comment style (C/C++) can automatically follow the filetype.
+ Bugfix: empty new file after removing the header template can't be closed.
+ Bugfix : Tools entry missing when root menu not shown from the start.
+ Minor improvements.
=======================================================================================
RELEASE NOTES FOR VERSION 4.3
=======================================================================================
+ CodeCheck (TM) integrated (source code analysing tool).
+ New key mappings for preprocessor statements.
+ New preprocessor menu.
+ Bugfix: indent under Windows.
+ Minor improvements.
=======================================================================================
RELEASE NOTES FOR VERSION 4.2.1
=======================================================================================
+ Bugfix: change needed for some menu names after patch 7.0.054 .
=======================================================================================
RELEASE NOTES FOR VERSION 4.2
=======================================================================================
+ Setting the starting column for trailing comments improved.
+ Small bug in block uncommenting fixed.
+ Mac OS X : circumvent a Vim bug which caused a crash when loading plugin version 4.1.
+ File syntax/c.vim removed (but see help in csupport.txt).
=======================================================================================
RELEASE NOTES FOR VERSION 4.1
=======================================================================================
+ A complete switch statement can be made from a list of labels.
+ Additional cases can be made from a list of labels.
+ Small bug in line end commenting fixed.
+ Some minor improvements.
=======================================================================================
RELEASE NOTES FOR VERSION 4.0
=======================================================================================
+ Kernighan & Ritchie style for block statements can be enabled.
+ Changes to make it compatible with Vim 7.
+ Set C/C++ file type for source files which should not be preprocessed (*.i, *.ii).
+ Some minor improvements.
=======================================================================================
RELEASE NOTES FOR VERSION 3.11
=======================================================================================
+ Hotkeys and an accompanying reference card added.
+ Preparation for syntax based folding.
+ Some minor improvements.
=======================================================================================
RELEASE NOTES FOR VERSION 3.10
=======================================================================================
+ Remove "#if 0 ... #endif" from the inside.
+ Change C comments to C++ comments and vice versa.
+ try..catch / catch / catch(...) now can be set surround a marked area.
+ Prototype picking improved (for C++).
+ A hardcopy shows the localized date and time in the header line.
+ New help menu entry in the main menu of this plugin (shows the plugin documentation).
+ Switch between corresponding source and header files with <S-F2> if the plugin a.vim
is present.
+ Plugin can be used with autocompletion for (, [, and { .
=======================================================================================
RELEASE NOTES FOR VERSION 3.9.1
=======================================================================================
+ Doubling of file header for new c- and h-files under Windows fixed (Thanks to
Fabricio C A Oliveira).
+ Tiny bug in the file open idioms fixed.
=======================================================================================
RELEASE NOTES FOR VERSION 3.9
=======================================================================================
+ Formatter 'indent' integrated.
+ Bugfix in the automatic header insertion.
+ Assert idiom added.
+ #if 0 ... #endif statement for blocking out code added.
+ Minor stylistic improvements in some idioms.
=======================================================================================
RELEASE NOTES FOR VERSION 3.8.2
=======================================================================================
+ Screen update problem solved: color inversion under FC4 (Thanks to Bernie Barton).
+ RTTI menu : additional v-mode.
+ Statement menu and C++ menu rearranged.
+ Include guard : name generation improved.
+ File header templates will be included for additional file extensions (cp, cxx, c++, ...).
=======================================================================================
RELEASE NOTES FOR VERSION 3.8.1
=======================================================================================
+ More C++ output manipulators, manipulator insertion more intuitive.
+ Output into buffer: cursor goes to top of file.
+ Makefile template improved (code snippet).
+ Some internal improvements.
=======================================================================================
RELEASE NOTES FOR VERSION 3.8
=======================================================================================
+ Windows support. Most features are now available under Windows.
=======================================================================================
RELEASE NOTES FOR VERSION 3.7.2
=======================================================================================
+ Run buffer through splint (A tool for statically checking C programs; see
http://www.splint.org). An error window will be opened; quickfix commands can be used.
+ Set buffer related command line arguments for splint.
+ Line end comments start in a fixed column (can be set from the menu).
+ Spaces in path names and file names are now possible.
+ Template files and snippet files are no longer kept in the list of alternate files.
+ Some minor improvements.
=======================================================================================
RELEASE NOTES FOR VERSION 3.7.1
=======================================================================================
+ Bug fixed (command line arguments not passed to the executable).
+ File extension for executables can be set.
+ Minor improvements.
=======================================================================================
RELEASE NOTES FOR VERSION 3.7
=======================================================================================
+ Running a program:
(1) Run program from the gVim command line.
(2) Run program and direct the output into a window with name "C-Output".
This buffer and its content will disappear when closing the window.
The buffer is reused when still open.
(3) Run program in an xterm (adjustable).
+ Command line arguments are now buffer related (each buffer can have its own arguments).
+ Code snippets can be protected from being indented during insertion.
+ Picked up prototypes will be deleted after insertion.
+ A code snippet with the file name extension "ni" or "noindent" will not be
indented on insertion.
+ for- and calloc-/malloc-idioms improved.
+ Bug fixed (word list handling).
=======================================================================================
RELEASE NOTES FOR VERSION 3.6
=======================================================================================
+ Installation simplified.
+ for-loop-idiom asks for control variable, initial value, ...
+ malloc-idiom asks for pointer variable and size.
+ Toggling the comment style works correct again.
+ Empty error windows will be closed.
+ Prototype picker removes trailing parts of the function body if marked.
+ The dialog windows (GUI) have been replaced by more flexible command line inputs.
+ The undocumented and unnecessary hot key F12 has been removed.
+ Extension to ctags + taglist shows makefile targets and qmake targets.
=======================================================================================
RELEASE NOTES FOR VERSION 3.5
=======================================================================================
+ Aligned line end comments for consecutive lines.
+ Improved prototype picker removes comments.
+ Picked up prototypes can be shown.
+ Uncomment more than one block at once.
+ 3 new idioms.
+ Help file improved .
=======================================================================================
RELEASE NOTES FOR VERSION 3.4
=======================================================================================
+ Two new global variables: C_Dictionary_File, C_MenuHeader .
+ The preprocessor statements #if... and the function idiom include marked
lines when invoked in visual mode.
=======================================================================================
RELEASE NOTES FOR VERSION 3.3
=======================================================================================
+ The C/C++ root menu can be disabled.
=======================================================================================
RELEASE NOTES FOR VERSION 3.2
=======================================================================================
+ Only one C/C++ entry in the gVim root menu.
+ All hotkeys are only defined for C/C++ files (file type plugin added).
+ The following constructs are now read as templates from files:
class, class using new,
template class, template class using new,
error class
+ Install script added.
+ Customization improved.
+ Documentation improved (help file added).
+ Bug fix (template file handling)
=======================================================================================
RELEASE NOTES FOR VERSION 3.1
=======================================================================================
+ When the comment style "C" is active the menu entry "Comments.code->comment"
turns a marked region in one multiline C-comment.
+ The menu entry "Comments.comment->code" turns marked multiline C-comment
back into code.
+ A marked region can be surrounded by a for-, if, if-else, while-, do-while-statement
(with indentation).
+ The menu entry "Snippets.make prototype" makes a C- or C++-prototype from
the current line or marked region and puts it in an internal buffer.
+ The menu entry "Snippets.add prototype" also makes a C- or C++-prototype from
the current line or a marked region and adds it to the internal buffer.
+ The menu entry "Snippets.put prototype" inserts all gathered prototypes
below the current line.
+ Tag substitution rewritten (Some characters in a substitution text for a tag
prevented the tag from being substituted).
=======================================================================================
RELEASE NOTES FOR VERSION 3.0
=======================================================================================
+ C-style comments AND C++-style comments are supported now.
+ The menu entry 'Comments->Comment style ..' switches the styles (toggle).
+ Block comments are now read as templates or skeletons from files:
Frame Block, Function Description, Method Description,
Class Description, H+file header, C/C++-file header
+ These templates can contain tags like |FILENAME|, |AUTHOR| etc. which are replaced
after reading (KDevelop templates can be used without any change).
+ indentation: multiline inserts and code snippets will be indented after insertion.
+ Most menu entries are now also active in normal mode.
+ new menu items:
includes for the C99 header,
includes for the standard C++ header,
includes for the C++ version of the Standard C Library header,
multiline C comment
vim modeline
+ Reading the templates is done in one function which can be called in an autocmd.
+ Code cleanup: register z no longer used. Most function calls are silent now.

Binary file not shown.

View File

@ -0,0 +1,355 @@
%%=====================================================================================
%%
%% File: c-hotkeys.tex
%%
%% Description: c-support.vim : Key mappings for Vim without GUI.
%%
%%
%% Author: Dr.-Ing. Fritz Mehner
%% Email: mehner@fh-swf.de
%% Copyright: Copyright (C) 2006-2010 Dr.-Ing. Fritz Mehner (mehner@fh-swf.de)
%% Version: 1.0
%% Created: 10.11.2006
%% Revision: $Id: c-hotkeys.tex,v 1.48 2011/12/27 21:09:44 mehner Exp $
%%
%% Notes:
%%
%%=====================================================================================
\documentclass[oneside,11pt,landscape,DIV17]{scrartcl}
\usepackage[english]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{times}
\usepackage{lastpage}
\usepackage{multicol}
\usepackage{setspace}
\setlength\parindent{0pt}
\newcommand{\Pluginversion}{5.17}
\newcommand{\ReleaseDate}{ December 2011}
\newcommand{\Rep}{{\tiny{[n]}}}
%%----------------------------------------------------------------------
%% luximono : Type1-font
%% Makes keyword stand out by using semibold letters.
%%----------------------------------------------------------------------
\usepackage[scaled]{luximono}
%%----------------------------------------------------------------------
%% fancyhdr
%%----------------------------------------------------------------------
\usepackage{fancyhdr}
\pagestyle{fancyplain}
\fancyfoot[L]{\small \ReleaseDate}
\fancyfoot[C]{c-support.vim}
\fancyfoot[R]{\small \textbf{Page \thepage{} / \pageref{LastPage}}}
\renewcommand{\headrulewidth}{0.0pt}
%%----------------------------------------------------------------------
%% hyperref
%%----------------------------------------------------------------------
\usepackage[ps2pdf]{hyperref}
\hypersetup{pdfauthor={Dr.-Ing. Fritz Mehner, FH Südwestfalen, Iserlohn, Germany}}
\hypersetup{pdfkeywords={Vim, C/C++}}
\hypersetup{pdfsubject={Vim-plugin, c-support.vim, hot keys}}
\hypersetup{pdftitle={Vim-plugin, c-support.vim, hot keys}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% START OF DOCUMENT
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}%
\begin{multicols}{3}
%
%%======================================================================
%% title
%%======================================================================
\begin{center}
\textbf{\textsc{\small{Vim-Plugin}}}\\
\textbf{\LARGE{c-support.vim}}\\
\textbf{\textsc{\small{Version \Pluginversion}}}\\
\textbf{\textsc{\Huge{Hot keys}}}\\
Key mappings for Vim with and without GUI.\\
Plugin: http://vim.sourceforge.net\\
\vspace{3.0mm}
{\normalsize (i)} insert mode, {\normalsize (n)} normal mode, {\normalsize (v)} visual mode\\
\vspace{5.0mm}
%
%%======================================================================
%% SIDE 1
%%======================================================================
%%~~~~~ TABULAR : begin ~~~~~~~~~~
\begin{tabular}[]{|p{10mm}|p{60mm}|}
%
\hline
\multicolumn{2}{|r|}{\textsl{\textbf{C}omments}} \\
\hline \Rep\verb'\cl' & end-of-line comment \hfill (n,v,i)\\
\hline \Rep\verb'\cj' & adjust end-of-line comment \hfill (n,v,i)\\
\hline \verb'\cs' & set end-of-line comment column \hfill (n) \\
\hline \Rep\verb'\c*' & code $\Rightarrow$ comment \verb'/* */' \hfill (n,v) \\
\hline \Rep\verb'\cc' & code $\Rightarrow$ comment \verb'//' \hfill (n,v,o)\\
\hline \Rep\verb'\co' & comment $\Rightarrow$ code \hfill (n,v,o)\\
\hline \verb'\cfr' & frame comment \hfill (n,i)\\
\hline \verb'\cfu' & function comment \hfill (n,i)\\
\hline \verb'\cme' & method description \hfill (n,i)\\
\hline \verb'\ccl' & class description \hfill (n,i)\\
\hline \verb'\cfdi'& file description (implementation) \hfill (n,i)\\
\hline \verb'\cfdh'& file description (header) \hfill (n,i)\\
\hline \verb'\ccs'& C/C++--file sections\hspace{3mm}\footnotesize{(tab compl.)} \hfill \normalsize{(n,i)}\\
\hline \verb'\chs'& H--file sections\hspace{10mm}\footnotesize{(tab compl.)} \hfill \normalsize{(n,i)}\\
\hline \verb'\ckc'& keyword comment\hspace{5mm}\footnotesize{(tab compl.)} \hfill \normalsize{(n,i)}\\
\hline \verb'\csc'& special comment\hspace{7,5mm}\footnotesize{(tab compl.)} \hfill \normalsize{(n,i)}\\
\hline \verb'\cd' & date \hfill (n,v,i)\\
\hline \verb'\ct' & date \& time \hfill (n,v,i)\\
\hline \Rep\verb'\cx' & toggle comments: C $\leftrightarrow$ C++ \hfill (n,v,i)\\
\hline
\end{tabular}\\
%%~~~~~ TABULAR : end ~~~~~~~~~~
%
%%======================================================================
%% table, middle part
%%======================================================================
%
%%~~~~~ TABULAR : begin ~~~~~~~~~~
\begin{tabular}[]{|p{15mm}|p{55mm}|}
%%----------------------------------------------------------------------
%% menu statements
%%----------------------------------------------------------------------
\hline
\multicolumn{2}{|r|}{\textsl{\textbf{S}tatements}} \\
\hline \verb'\sd' & \verb'do { } while' \hfill (n,v,i)\\
\hline \verb'\sf' & \verb'for' \hfill (n,i)\\
\hline \verb'\sfo' & \verb'for { }' \hfill (n,v,i)\\
\hline \verb'\si' & \verb'if' \hfill (n,i)\\
\hline \verb'\sif' & \verb'if { }' \hfill (n,v,i)\\
\hline \verb'\sie' & \verb'if else' \hfill (n,v,i)\\
\hline \verb'\sife'& \verb'if { } else { }' \hfill (n,v,i)\\
\hline \verb'\se' & \verb'else { }' \hfill (n,v,i)\\
\hline \verb'\sw' & \verb'while' \hfill (n,i)\\
\hline \verb'\swh' & \verb'while { }' \hfill (n,v,i)\\
\hline \verb'\ss' & \verb'switch' \hfill (n,v,i)\\
\hline \verb'\sc' & \verb'case' \hfill (n,i)\\
\hline \verb'\s{ \sb' & \verb'{ }' \hfill (n,v,i)\\
\hline
%%----------------------------------------------------------------------
%% preprocessor menu
%%----------------------------------------------------------------------
\hline
\multicolumn{2}{|r|}{\textsl{\textbf{P}reprocessor}} \\
\hline \verb'\ps' & choose a Std. Lib. include \hfill (n,i)\\
\hline \verb'\pc' & choose a C99 include \hfill (n,i)\\
\hline \verb'\p<' & \verb$#include<...>$ \hfill (n,i)\\
\hline \verb'\p"' & \verb$#include"..."$ \hfill (n,i)\\
\hline \verb'\pd' & \verb'#define' \hfill (n,i)\\
\hline \verb'\pu' & \verb'#undef' \hfill (n,i)\\
\hline \verb'\pif' & \verb'#if #endif' \hfill (n,v,i)\\
\hline \verb'\pie' & \verb'#if #else #endif' \hfill (n,v,i)\\
\hline \verb'\pid' & \verb'#ifdef #else #endif' \hfill (n,v,i)\\
\hline \verb'\pin' & \verb'#ifndef #else #endif' \hfill (n,v,i)\\
\hline \verb'\pind' & \verb'#ifndef #def #endif' \hfill (n,v,i)\\
\hline \verb'\pi0' & \verb'#if 0 #endif' \hfill (n,v,i)\\
\hline \verb'\pr0' & remove \verb'#if 0 #endif' \hfill (n,i)\\
\hline \verb'\pe' & \verb'#error ' \hfill (n,i)\\
\hline \verb'\pl' & \verb'#line ' \hfill (n,i)\\
\hline \verb'\pp' & \verb'#pragma' \hfill (n,i)\\
\hline
\end{tabular} \\
%%~~~~~ TABULAR : end ~~~~~~~~~~
%%======================================================================
%% table, right part
%%======================================================================
%
%%~~~~~ TABULAR : begin ~~~~~~~~~~
\begin{tabular}[]{|p{11mm}|p{60mm}|}
%%----------------------------------------------------------------------
%% snippet menu
%%----------------------------------------------------------------------
\hline
\multicolumn{2}{|r|}{\textsl{S\textbf{n}ippet}} \\
\hline \verb'\nr' & read code snippet \hfill (n,i)\\
\hline \verb'\nw' & write code snippet \hfill (n,v,i)\\
\hline \verb'\ne' & edit code snippet \hfill (n,i)\\
\hline \Rep\verb'\nf' \Rep\verb'\np' & pick up function prototype \hfill (n,v,i)\\
\hline \Rep\verb'\nm' & pick up method prototype \hfill (n,v,i)\\
\hline \verb'\ni' & insert prototype(s) \hfill (n,i)\\
\hline \verb'\nc' & clear prototype(s) \hfill (n,i)\\
\hline \verb'\ns' & show prototype(s) \hfill (n,i)\\
%
\hline \verb'\ntl' & edit local templates \hfill (n,i)\\
\hline \verb'\ntg' & edit global templates$^1$ \hfill (n,i)\\
\hline \verb'\ntr' & reread the templates \hfill (n,i)\\
\hline \verb'\nts' & change templates style \hfill (n,i)\\
\hline
%%----------------------------------------------------------------------
%% idioms menu
%%----------------------------------------------------------------------
\hline
\multicolumn{2}{|r|}{\textsl{\textbf{I}dioms}} \\
\hline \verb'\if' & function \hfill (n,v,i)\\
\hline \verb'\isf' & static function \hfill (n,v,i)\\
\hline \verb'\im' & \verb'main()' \hfill (n,v,i)\\
\hline \Rep\verb'\i0' & \verb'for( x=0; x<n; x+=1 )' \hfill (n,v,i)\\
\hline \Rep\verb'\in' & \verb'for( x=n-1; x>=0; x-=1 )' \hfill (n,v,i)\\
\hline \verb'\ie' & \verb'enum' + \verb'typedef' \hfill (n,v,i)\\
\hline \verb'\is' & \verb'struct' + \verb'typedef' \hfill (n,v,i)\\
\hline \verb'\iu' & \verb'union' + \verb'typedef' \hfill (n,v,i)\\
\hline \verb'\ip' & \verb'printf()' \hfill (n,i)\\
\hline \verb'\isc' & \verb'scanf()' \hfill (n,i)\\
\hline \verb'\ica' & \verb'p=calloc()' \hfill (n,i)\\
\hline \verb'\ima' & \verb'p=malloc()' \hfill (n,i)\\
\hline \verb'\ire' & \verb'p=realloc()' \hfill (n,i)\\
\hline \verb'\isi' & \verb'sizeof()' \hfill (n,v,i)\\
\hline \verb'\ias' & \verb'assert()' \hfill (n,v,i)\\
\hline \verb'\ii' & open input file \hfill (n,v,i)\\
\hline \verb'\io' & open output file \hfill (n,v,i)\\
\hline \verb'\ifs' & fscanf \hfill (n,i)\\
\hline \verb'\ifp' & fprintf \hfill (n,i)\\
\hline
\end{tabular}\\
%
\begin{minipage}[b]{64mm}%
\scriptsize{%
\vspace{1mm}
%\hrulefill\\
$^1$ {system-wide installation only}\\
}%
\end{minipage}
%
%
%%======================================================================
%% SIDE 2
%%======================================================================
%
%%~~~~~ TABULAR : begin ~~~~~~~~~~
\begin{tabular}[]{|p{12mm}|p{60mm}|}
%%----------------------------------------------------------------------
%% C++ menu
%%----------------------------------------------------------------------
\hline
\multicolumn{2}{|r|}{\textsl{C\textbf{++}}} \\
\hline \verb'\+co' & \verb'cout << << endl; ' \hfill (n,i)\\
\hline \verb'\+"' & \verb'<< ""' \hfill (n,i)\\
\hline \verb'\+c' & class \hfill (n,i)\\
\hline \verb'\+ps' & \verb$#include<...> STL$ \hfill (n,i)\\
\hline \verb'\+pc' & \verb$#include<c..> C$ \hfill (n,i)\\
\hline \verb'\+cn' & class (using \verb'new') \hfill (n,i)\\
\hline \verb'\+ci' & class implementation \hfill (n,i)\\
\hline \verb'\+cni' & class (using \verb'new') implementation \hfill (n,i)\\
\hline \verb'\+mi' & method implementation \hfill (n,i)\\
\hline \verb'\+ai' & accessor implementation \hfill (n,i)\\
\hline \verb'\+tc' & template class \hfill (n,i)\\
\hline \verb'\+tcn' & template class (using \verb'new') \hfill (n,i)\\
\hline \verb'\+tci' & template class implementation \hfill (n,i)\\
\hline \verb'\+tcni'& template class (using \verb'new') impl. \hfill (n,i)\\
\hline \verb'\+tmi' & template method implementation \hfill (n,i)\\
\hline \verb'\+tai' & template accessor implementation \hfill (n,i)\\
\hline \verb'\+tf' & template function \hfill (n,i)\\
\hline \verb'\+ec' & error class \hfill (n,i)\\
\hline \verb'\+tr' & \verb'try' \dots \verb'catch' \hfill (n,v,i)\\
\hline \verb'\+ca' & \verb'catch' \hfill (n,v,i)\\
\hline \verb'\+c.' & \verb'catch(...)' \hfill (n,v,i)\\
\hline
%%
%%----------------------------------------------------------------------
%% show plugin help
%%----------------------------------------------------------------------
\hline
\multicolumn{2}{|r|}{\textsl{\textbf{H}elp and Menus}}\\
\hline \verb'\hm' & show manual \hfill (n,i)\\
\hline \verb'\hp' & help (c-support) \hfill (n,i)\\
\hline \verb'\lcs' & load Menus\hfill \scriptsize{(n \& GUI only)}\\
\hline \verb'\ucs' & unload Menus\hfill \scriptsize{(n \& GUI only)}\\
\hline
\end{tabular}
\vspace{100mm}
%%~~~~~ TABULAR : begin ~~~~~~~~~~
\begin{tabular}[]{|p{12mm}|p{58mm}|}
%%----------------------------------------------------------------------
%% run menu
%%----------------------------------------------------------------------
\hline
\multicolumn{2}{|r|}{\textsl{\textbf{R}un}} \\
\hline \verb'\rc' & save and compile \hfill (n,i)\\
\hline \verb'\rl' & link \hfill (n,i)\\
\hline \verb'\rr' & run \hfill (n,i)\\
\hline \verb'\ra' & set comand line arguments \hfill (n,i)\\
\hline \verb'\rm' & run \texttt{ make}$^1$ \hfill (n,i)\\
\hline \verb'\rmc' & run \texttt{ make clean}$^1$ \hfill (n,i)\\
\hline \verb'\rcm' & choose a makefile $^1$ \hfill (n,i)\\
\hline \verb'\rme' & executable\ to\ run$^1$ \hfill (n,i)\\
\hline \verb'\rma' & cmd.\ line arg.\ for \texttt{make}$^1$ \hfill (n,i)\\
%
\hline \verb'\rp' & run \texttt{ splint}$^2$ \hfill (n,i)\\
\hline \verb'\rpa' & cmd.\ line arg.\ for \texttt{splint} \hfill (n,i)\\
%
\hline \verb'\rk' & run \texttt{ CodeCheck}$^3$ \hfill (n,i)\\
\hline \verb'\rka' & cmd.\ line arg.\ for \texttt{CodeCheck} \hfill (n,i)\\
%
\hline \verb'\rd' & run \texttt{ indent} \hfill (n,i)\\
\hline \Rep\verb'\rh' & hardcopy buffer \hfill (n,i,v)\\
\hline \verb'\rs' & show plugin settings \hfill (n,i)\\
\hline \verb'\rx' & set xterm size \hfill (n,i, only Unix \& GUI)\\
\hline \verb'\ro' & change output destination \hfill (n,i)\\
\hline
%\end{tabular}
%\begin{spacing}{1.2}
%\begin{tabular}[]{|p{12mm}|p{58mm}|}
\hline
\multicolumn{2}{|r|}{\textbf{Additional Mappings}}\\
\hline
\hline \textbf{typing} & \textbf{expansion}\\
\hline \verb'/*' & \verb'/* */' \hfill (i)\\
\hline \verb'/*' & \verb'/* '\fbox{\small{(multiline) marked text}}\verb' */' \hfill (v)\\
\hline \verb'/*<CR>' & \verb'/*'\hfill (i)\newline\verb' * |'\newline\verb' */'\\
\hline \verb'{<CR>' & \verb'{'\hfill (i)\newline\verb' |'\newline\verb'}' \\
\hline \verb'{<CR>' & \verb'{'\hfill (v)\newline\verb' '\fbox{\small{(multiline) marked text}}\newline\verb'}'\\
\hline
\end{tabular}
%\end{spacing}
%%~~~~~ TABULAR : end ~~~~~~~~~~
%\vspace{60mm}
%
%
\begin{minipage}[b]{60mm}%
%\vspace{10mm}
%
\begin{flushleft}
%
\textit{Ex commands:}
\begin{description}
%
\item [CFileSection] C/C++--file sections (same as \verb'\ccs')
\item [HFileSection] H--file sections (same as \verb'\chs')
\item [KeywordComment] keyword comment (same as \verb'\ckc')
\item [SpecialComment] special comment (same as \verb'\csc')
\item [IncludeStdLibrary] standard library includes (same as \verb'\ps')
\item [IncludeC99Library] C99 includes (same as \verb'\pc')
\item [IncludeCppLibrary] STL includes (same as \verb'\+ps')
\item [IncludeCppCLibrary] C includes (same as \verb'\+pc')
\item [CStyle] C99 include (same as \verb'\nts')
%
\end{description}
%
\scriptsize{Use tab expansion to show the items to choose from.}
%
\end{flushleft}
\scriptsize{%
%\vspace{10mm}
\hrulefill\\
$^1$ also working for filetype \textbf{make}\\
$^2$ \textit{www.splint.org}\\
$^3$ \textbf{CodeCheck}$^{TM}$ is a product of Abraxas Software, Inc.
}%
%
\end{minipage}
%
\end{center}
\end{multicols}
\end{document}