c.vim C/C++ IDE Screen Shots |
C/C++ plugin |
screen shots: gVim + plugins as C/C++ - IDE Read the c.vim help file online The key mappings of this plugin (PDF) Plugin featured in the The Geek Stuff tutorial Make Vim as Your C/C++ IDE Using c.vim Plugin |
Similar plugins: AWK-IDE Bash-IDE Git Support Perl-IDE Latex-IDE Lua-IDE Vim Script IDE |
Submenus (1. level) |
Submenus (2. level) |
Generated Code |
---|---|---|
Menu Comments |
Menu Comments : different types of comments, file section headers, commenting and uncommenting of marked areasMany menu entries generate comments or commented code. The style of the comments can be toggled between C-style ( /* ... */ ) and C++-style ( // ... ).6 menu entries generate block comments. These comments are read from template files. These files can be written or changed by the user to fulfill special requirements (layout for a project or workgroup already exists, file headers / blocks have to be prepared for a documentation tool, ... ). The entry C/C++-file header generates a complete file header. File name and the date are looked up by the editor. The other information (author name, sign, ... ) are taken from the configuration settings in c.vim. /* * ===================================================================================== * * Filename: test1.c * * Description: * * Version: 1.0 * Created: 20.08.2012 19:08:35 * Revision: none * Compiler: gcc * * Author: Dr. Fritz Mehner (fgm), mehner.fritz@web.de * Organization: FH Südwestfalen, Iserlohn * * ===================================================================================== */This header is generated from the template below. == Comments.file description impl == map:cfdi, shortcut:c, start, noindent == /* * ===================================================================================== * * Filename: |FILENAME| * * Description: <CURSOR> * * Version: 1.0 * Created: |DATE| |TIME| * Revision: none * Compiler: gcc * * Author: |AUTHOR| (|AUTHORREF|), |EMAIL| * Organization: |ORGANIZATION| * * ===================================================================================== */ The entry H-File Sections -> All Sections, C generates file section header for sections often used in header files. C style /* ##### HEADER FILE INCLUDES ########################################## */ /* ##### EXPORTED MACROS ############################################### */ /* ##### EXPORTED DATA TYPES ########################################### */ /* ##### EXPORTED TYPE DEFINITIONS ##################################### */ /* ##### EXPORTED VARIABLES ############################################ */ /* ##### EXPORTED FUNCTION DECLARATIONS ################################ */ C++ style // ##### HEADER FILE INCLUDES ########################################## // ##### EXPORTED MACROS ############################################### // ##### EXPORTED DATA TYPES ########################################### // ##### EXPORTED TYPE DEFINITIONS ##################################### // ##### EXPORTED VARIABLES ############################################ // ##### EXPORTED FUNCTION DECLARATIONS ################################ The entry KEYWORD+Comm. -> //:BUG: generates a special line end comment for commenting a bug. These comments are easily located by their key words (e.g. :BUG: ). Date and author name are inserted by the editor.
// :BUG:04.03.2003:Mn:
These comments are not for the final version of a program, of course.
|
|
Menu Statements |
Menu Statements : Insert C statementsThe entry do { } while generates an empty do-while-loop with a comment at the end. The cursor will be positioned between the brackets.do { } while ( ); // ----- end do-while ----- The entry switch generates a switch-staement with 4 cases + default : switch ( ) { case : break; case : break; case : break; case : break; default: break; } // ----- end switch ----- |
|
Menu Preprocessor |
Menu Preprocessor : Insert preprocessor statementsThe menu entry #ifndef #def #endif generates an empty include guard. The macro name is suggested according to the file name.#ifndef SHARED_MEM_1_INC #define SHARED_MEM_1_INC #endif /* ----- #ifndef SHARED_MEM_1_INC ----- */ The menu entry #if 0 #endif inserts the lines
#if 0 /* ----- #if 0 : If0Label_1 ----- */
#endif /* ----- #if 0 : If0Label_1 ----- */
In visual mode the marked block of lines will be surrounded by these lines.
This is usually done to temporarily block out some code. The label names like
If0Label_1 are automatically inserted into the comments. The trailing numbers
are automatically incremented.
The menu entry remove #if #endif removes such a construct if the cursor is in the middle of such a section or on one of the two enclosing lines. Nested constructs will be untouched. | |
Menu Idioms |
Menu Idioms : Insert frequently used statements.The entry function generates an empty function with a specified name (dialog). The curser will be positioned on the key word void.void func33 ( ) { return ; } // ---------- end of function func33 ---------- The entry open input file generates the following statements which opens a file. The name of the file pointer can be specified in a dialog. FILE *infile; /* input-file pointer */ char *infile_file_name = ""; /* input-file name */ infile = fopen( infile_file_name, "r" ); if ( infile == NULL ) { fprintf (stderr, "couldn't open file '%s'; %s\n", infile_file_name, strerror(errno) ); exit (EXIT_FAILURE); } if( fclose(infile) == EOF ) /* close input file */ { fprintf (stderr, "couldn't close file '%s'; %s\n", infile_file_name, strerror(errno) ); exit (EXIT_FAILURE); } |
|
Menu Snippets |
Menu Snippets : Code snippets and prototypesRead, write and edit your own code snippets in separate files in a separate snippet directory.Pick up function prototype(s) from one or more lines. Insert the prototype(s) elsewhere. Pick up prototypes: Mark the following lines and choose pick up prototype : double f3_sub1 ( // comment comment comment /* */ double r1, /**/ // the first /* ssssss */ double r2 ) // the secondNow mark these lines and choose pick up prototype again: int f4_sub1 ( int n1, /* multi line comment */ int n2, int n3 /* comment3 */ )The following lines will be inserted by insert prototype(s) : double f3_sub1 ( double r1, double r2 ); int f4_sub1 ( int n1, int n2, int n3 ); |
|
Menu C++ |
Menu C++ : empty classes, output manipulators and flagbits, open files, try-catch-blocks, ...The entry class generates an empty class declaration. The name of the class (e.g. Cls) can be specified in a dialog.class Cls { public: // ==================== LIFECYCLE ================================= Cls (); // constructor // ==================== OPERATORS ================================= // ==================== OPERATIONS ================================= // ==================== ACCESS ================================= // ==================== INQUIRY ================================= protected: private: }; // ---------- end of class Cls ---------- The entry operator << generates an empty friend-function which overloads the standard I/O-operator. The name of the class (e.g. Cls) can be specified in a dialog. ostream & operator << (ostream & os, const Cls & obj ) { os << obj. ; return os; } // ----- class Cls : end of friend function operator << ----- |
|
Menu Tool Box |
Menu Tool Box : use configurable tool boxescontrol doxygencontrol make(1) | |
Menu Run |
Menu Run :
Tear off menus, tag list source code browsing, function preview and error list buffer. |
back to Sourceforge