zoukankan      html  css  js  c++  java
  • 用c.vim插件打造C/C++集成编辑器

    利用c.vim插件,你可以实现
    • 添加文件头 
    • 添加注释 
    • 插入一些代码片段 
    • 语法检查 
    • 读函数文档 
    • 注释代码块

    这一插件的作者是 Fritz Mehner, 目标就是打造程序员流畅的编辑环境。
     
    这一插件还能完成:

    • Statement oriented editing of C / C++ programs
    • Speed up writing new code considerably.
    • Write code and comments with a professional appearance from the beginning.
    • Use code snippets


    接下来我们对这一插件详细介绍.

    3 安装插件

    Step 1: 下载c.vim

    $ cd /usr/src
    $ wget http://www.vim.org/scripts/download_script.php?src_id=9679

    Step 2: 安装

    $ mkdir ~/.vim
    $ cd ~/.vim
    $ unzip /usr/src/cvim.zip

    Step 3: 启用这一插件

    $ vim ~/.vimrc
    filetype plugin on

    8 c.vim的使用

    Feature 1: Add Automatic Header to *.c file

    当你新建一个扩展名.c的文件时候,自动在文件头部增加头部注释

    $ vim myprogram.c
    /*
    * =================================================
    * Filename: myprogram.c
    *
    * Description:
    *
    * Version: 1.0
    * Created: 01/19/09 20:23:25
    * Revision: none
    * Compiler: gcc
    *
    * Author: Dr. Fritz Mehner (mn),
    mehner@fh-swf.de
    * Company: FH Südwestfalen, Iserlohn
    *
    * =================================================
    */


    其中如果你要改变 AUTHOR 和 COMPANY的值, 要修改模板文件 ~/.vim/c-support/templates/Templates

    $ vim ~/.vim/c-support/templates/Templates
    |AUTHOR| = geekstuff
    |AUTHORREF| = gk
    |EMAIL| = subscribe@geekstuff
    |COMPANY| = thegeekstuff.com


    现在编辑一个新文件,看看你的作者和公司名称改变了没有。

    $ vim myprogram.c
    /*
    * =================================================
    *
    * Filename: myprogram.c
    *
    * Description:
    *
    * Version: 1.0
    * Created: 01/19/09 20:26:43
    * Revision: none
    * Compiler: gcc
    *
    * Author: geekstuff (gk), subscribe@geekstuff
    * Company: thegeekstuff.com
    *
    * =================================================
    */

     

    Feature 2: 用"if 添加c函数

    键入"if 加函数名称 (as shown in Fig1 below) 就会在文件中自动完成函数的定义,就像图二那样。
     

    Vim C/C++ IDE - Adding C Function - 1

     

    Fig1:Insert C Function Automatically
     
    Vim C/C++ IDE - Adding C Function - 2

    Fig 2:Insert C Function Automatically

    Feature 3: 用"im 添加main函数

    添加的效果如下: 

     

    Fig 3: Insert C main function automatically

    Feature 4: 用 "cfu 添加函数注释
     

    Vim C/C++ IDE - Insert C Function Header - 1

     

    Fig 4: Insert C Function Header Automatically
     
    Vim C/C++ IDE - Insert C Function Header - 1

    Fig 5: Insert C Function Header Automatically

    Feature 5:  用"cfr添加注释框架

     

    Vim C/C++ IDE - Insert Frame Comment

     

    Fig 6: Insert a Frame Comment Automatically

    Feature 6: 用"p<包含头文件

    Type "p< in the normal mode, which will include the text “#include <>”, and places the cursor in the < symbol in Insert mode where you can type the header file name.

    Feature 7: 保存编译文件.

    保存并编译文件 "rc.

    运行 "rr.

    Feature 8: 用"nr 插入预定义的代码片段

    The plugin comes with few pre-defined code snippets that you can insert into your code. Following are the default code snippets that comes with the plugin.

    $ ls ~/.vim/c-support/codesnippets
    Makefile calloc_double_matrix.c main.c print_double_array.c.noindent
    Makefile.multi-target.template calloc_int_matrix.c main.cc print_int_array.c.noindent

    For example, if you want to create a function that will Allocate a dynamic int-matrix of size rows*columns; return a pointer, you can re-use it from the existing code snippets. Following is the content of the calloc_int_matrix.c pre-defined code snippets.

    /*
    * === FUNCTION ======================================================================
    * Name: calloc_int_matrix
    * Description: Allocate a dynamic int-matrix of size rows*columns; return a pointer.
    * =====================================================================================
    */
    int**
    calloc_int_matrix ( int rows, int columns )
    {
    int i;
    int **m;
    m = calloc ( rows, sizeof(int*) ); /* allocate pointer array */
    assert( m != NULL ); /* abort if allocation failed */
    *m = calloc ( rows*columns, sizeof(int) ); /* allocate data array */
    assert(*m != NULL ); /* abort if allocation failed */
    for ( i=1; i
    m[i] = m[i-1] + columns;
    return m;
    } /* ———- end of function calloc_int_matrix ———- */


    如果要插入这段代码,可以键入"nr 文件名称,代码就会自动插入了。

  • 相关阅读:
    两个List集合过滤出不同集合
    TypeError: Failed to execute 'fetch' on 'Window': Request with GET/HEAD method cannot have body.
    sql server 查询某个表被哪些存储过程调用
    SQL server字符分割
    oracle 结果集合并
    tree与GridView交互
    oracle job相关
    ImportFileHandler 附件上传
    dt转换List CovertListHelper
    node版本管理mac版
  • 原文地址:https://www.cnblogs.com/hanyulcf/p/1863042.html
Copyright © 2011-2022 走看看