Linux vi 自动生成注释和main函数

    首先找到vimrc文件,此文件在 /etc/ 目录下,然后将以下代码覆盖原来的即可,注意:注释里面的一些信息是可以修改的,修改成自己的一些信息即可,需要去研究它是怎么写的吗,不用知道,知道怎么用就行,覆盖之后,vi创建的.cpp文件,按F4生成注释和主函数;创建的.c文件,按F5生成注释和主函数;创建的.h文件,按F6生成,注意:生成的.h文件需要添加头文件名,还有就是extern 后面加上 “C”别忘了。

if v:lang =~ "utf8$" || v:lang =~ "UTF-8$"
   set fileencodings=ucs-bom,utf-8,latin1
endif


set nocompatible " Use Vim defaults (much better!)
set bs=indent,eol,start " allow backspacing over everything in insert mode
"set ai " always set autoindenting on
"set backup " keep a backup file
set viminfo='20,\"50 " read/write a .viminfo file, don't store more
" than 50 lines of registers
set history=50 " keep 50 lines of command line history
set ruler " show the cursor position all the time


" Only do this part when compiled with support for autocommands
if has("autocmd")
  augroup fedora
  autocmd!
  " In text files, always limit the width of text to 78 characters
  " autocmd BufRead *.txt set tw=78
  " When editing a file, always jump to the last cursor position
  autocmd BufReadPost *
  \ if line("'\"") > 0 && line ("'\"") <= line("$") |
  \   exe "normal! g'\"" |
  \ endif
  " don't write swapfile on most commonly used directories for NFS mounts or USB sticks
  autocmd BufNewFile,BufReadPre /media/*,/mnt/* set directory=~/tmp,/var/tmp,/tmp
  " start with spec file template
  autocmd BufNewFile *.spec 0r /usr/share/vim/vimfiles/template.spec
  augroup END
endif


if has("cscope") && filereadable("/usr/bin/cscope")
   set csprg=/usr/bin/cscope
   set csto=0
   set cst
   set nocsverb
   " add any database in current directory
   if filereadable("cscope.out")
      cs add cscope.out
   " else add database pointed to by environment
   elseif $CSCOPE_DB != ""
      cs add $CSCOPE_DB
   endif
   set csverb
endif


" Switch syntax highlighting on, when the terminal has colors
" Also switch on highlighting the last used search pattern.
if &t_Co > 2 || has("gui_running")
  syntax on
  set hlsearch
endif


filetype plugin on


if &term=="xterm"
     set t_Co=8
     set t_Sb=[4%dm
     set t_Sf=[3%dm
endif


" Don't wake up system with blinking cursor:
" http://www.linuxpowertop.org/known.php
let &guicursor = &guicursor . ",a:blinkon0"

map <F4> :call TitleDet()<cr>'s
function AddTitle()
    call append( 0, "/*=============================================================================")
    call append( 1, "#       @name         :wangling")
    call append( 2, "#       @file         :".expand("%:p:h")."\\".expand("%:t"))
    call append( 3, "#       @date         :".strftime("%Y/%m/%d %H:%M"))
    call append(4, "=============================================================================*/")
    call append(5, "")
    call append(6,"")
    call append(7,"")
    call append(8,"#include <iostream>")
    call append(9,"using namespace std;")
    call append(10,"")
    call append(11,"")
    call append(12,"int main()")
    call append(13,"{")
    call append(14,"")
    call append(15,"")
    call append(16," return 0;")
    call append(17,"}")


   echohl WarningMsg | echo "Successful in adding the copyright." | echohl None
endf
"¸üÐÂ×î½üÐÞ¸Äʱ¼äºÍÎļþÃû
function UpdateTitle()
    normal m'
    execute '/#       @date      /s@:.*$@\=strftime(":%Y-%m-%d %H:%M")@'
    normal ''
    normal mk
    execute '/#       @file      /s@:.*$@\=":".expand("%:p:h")."\\".expand("%:t")@'
    execute "noh"
    normal 'k
    echohl WarningMsg | echo "Successful in updating the copy right." | echohl None
endfunction
"ÅжÏÇ°10ÐдúÂëÀïÃ棬ÊÇ·ñÓÐCOPYRIGHT NOTICEÕâ¸öµ¥´Ê£¬
"Èç¹ûûÓеĻ°£¬´ú±íûÓÐÌí¼Ó¹ý×÷ÕßÐÅÏ¢£¬ÐèÒªÐÂÌí¼Ó£»
"Èç¹ûÓеĻ°£¬ÄÇôֻÐèÒª¸üм´¿É
function TitleDet()
    let n = 2
    "ĬÈÏΪÌí¼Ó
        let line = getline(n)
        let str = '^#       COPYRIGHT NOTICE$'
        if line =~ str
            call UpdateTitle()
            return
           endif
    call AddTitle()
endfunction
 


 
map <F5> :call TitleDet1()<cr>'s
function AddTitle1()
    call append( 0, "/*=============================================================================")
    call append( 1, "#       @name         :wangling")
    call append( 2, "#       @file         :".expand("%:p:h")."\\".expand("%:t"))
    call append( 3, "#       @date         :".strftime("%Y/%m/%d %H:%M"))
    call append(4, "=============================================================================*/")
    call append(5, "")
    call append(6,"")
    call append(7,"")
    call append(8,"#include <stdio.h>")
    call append(9,"")
    call append(10,"")
    call append(11,"")
    call append(12,"int main()")
    call append(13,"{")
    call append(14,"")
    call append(15,"")
    call append(16," return 0;")
    call append(17,"}")


   echohl WarningMsg | echo "Successful in adding the copyright." | echohl None
endf
"¸üÐÂ×î½üÐÞ¸Äʱ¼äºÍÎļþÃû
function UpdateTitle1()
    normal m'
    execute '/#       @date      /s@:.*$@\=strftime(":%Y-%m-%d %H:%M")@'
    normal ''
    normal mk
    execute '/#       @file      /s@:.*$@\=":".expand("%:p:h")."\\".expand("%:t")@'
    execute "noh"
    normal 'k
    echohl WarningMsg | echo "Successful in updating the copy right." | echohl None
endfunction
"ÅжÏÇ°10ÐдúÂëÀïÃ棬ÊÇ·ñÓÐCOPYRIGHT NOTICEÕâ¸öµ¥´Ê£¬
"Èç¹ûûÓеĻ°£¬´ú±íûÓÐÌí¼Ó¹ý×÷ÕßÐÅÏ¢£¬ÐèÒªÐÂÌí¼Ó£»
"Èç¹ûÓеĻ°£¬ÄÇôֻÐèÒª¸üм´¿É
function TitleDet1()
    let n = 2
    "ĬÈÏΪÌí¼Ó
        let line = getline(n)
        let str = '^#       COPYRIGHT NOTICE$'
        if line =~ str
            call UpdateTitle1()
            return
           endif
    call AddTitle1()
endfunction
 


  
map <F6> :call TitleDet2()<cr>'s
function AddTitle2()
    call append( 0, "/*=============================================================================")
    call append( 1, "#       @name         :wangling")
    call append( 2, "#       @file         :".expand("%:p:h")."\\".expand("%:t"))
    call append( 3, "#       @date         :".strftime("%Y/%m/%d %H:%M"))
    call append(4, "=============================================================================*/")
    call append(5, "")
    call append(6,"")
    call append(7,"")
    call append(8,"#ifndef __")
    call append(9,"#define __")
    call append(10,"")
    call append(11,"#ifdef __cplusplus")
    call append(12,"extern  {")
    call append(13,"#endif")
    call append(14,"")
    call append(15,"")
    call append(16,"#ifdef __cplusplus")
    call append(17,"}")
    call append(18,"#endif")
    call append(19,"")
    call append(20,"")
    call append(21,"#endif")
   echohl WarningMsg | echo "Successful in adding the copyright." | echohl None
endf
"¸üÐÂ×î½üÐÞ¸Äʱ¼äºÍÎļþÃû
function UpdateTitle2()
    normal m'
    execute '/#       @date      /s@:.*$@\=strftime(":%Y-%m-%d %H:%M")@'
    normal ''
    normal mk
    execute '/#       @file      /s@:.*$@\=":".expand("%:p:h")."\\".expand("%:t")@'
    execute "noh"
    normal 'k
    echohl WarningMsg | echo "Successful in updating the copy right." | echohl None
endfunction
"ÅжÏÇ°10ÐдúÂëÀïÃ棬ÊÇ·ñÓÐCOPYRIGHT NOTICEÕâ¸öµ¥´Ê£¬
"Èç¹ûûÓеĻ°£¬´ú±íûÓÐÌí¼Ó¹ý×÷ÕßÐÅÏ¢£¬ÐèÒªÐÂÌí¼Ó£»
"Èç¹ûÓеĻ°£¬ÄÇôֻÐèÒª¸üм´¿É
function TitleDet2()
    let n = 2
    "ĬÈÏΪÌí¼Ó
        let line = getline(n)
        let str = '^#       COPYRIGHT NOTICE$'
        if line =~ str
            call UpdateTitle2()
            return
           endif
    call AddTitle2()
endfunction
                            


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值