介绍一些关于Gvim(windows 7 32位 Vim 7.4)的基本配置,除了特别说明,代码一律添加在安装目录下的_vimrc文件中。

1、取消自动备份,这行代码需要添加在 _vimrc文件中的behave mswin之后才能生效:

set nobackup

2、F4一键添加作者信息:

map <F4> :call TitleDet()<cr>'s
function AddTitle()
call append(,"/*============================================================================")
call append(,"* Author : vitah")
call append(,"* Mail : linw1225@163.com")
call append(,"* Last modified : ".strftime("%Y-%m-%d %H:%M"))
call append(,"* Filename : ".expand("%:t"))
call append(,"* Description :")
call append(,"*")
call append(,"=============================================================================*/")
echohl WarningMsg | echo "Successful in adding the copyright." | echohl None
endf
"更新最近修改时间和文件名
function UpdateTitle()
normal m'
"" execute '/* Last modified:/s@:.*$@\=strftime(":\t%Y-%m-%d %H:%M")@'
execute '/* Last modified :/s@:.*$@\=strftime(": %Y-%m-%d %H:%M")@'
normal ''
normal mk
execute '/* Filename :/s@:.*$@\=": ".expand("%:t")@'
execute "noh"
normal 'k
echohl WarningMsg | echo "Successful in updating the copy right." | echohl None
endfunction
"判断前10行代码里面,是否有Last modified这个单词,
"如果没有的话,代表没有添加过作者信息,需要新添加;
"如果有的话,那么只需要更新即可
function TitleDet()
let n=
"默认为添加
while n <
let line = getline(n)
if line =~ '^\*\s*\S*Last\smodified :\S*.*$'
call UpdateTitle()
return
endif
let n = n +
endwhile
call AddTitle()
endfunction

一键添加作者信息

3、自动完成括号引号:

:inoremap ( ()<ESC>i
:inoremap ) <c-r>=ClosePair(')')<CR>
:inoremap { {}<ESC>i
:inoremap } <c-r>=ClosePair('}')<CR>
:inoremap [ []<ESC>i
:inoremap ] <c-r>=ClosePair(']')<CR>
"":inoremap < <><ESC>i
"":inoremap > <c-r>=ClosePair('>')<CR>
:inoremap " ""<ESC>i
:inoremap ' ''<ESC>i
:inoremap ` ``<ESC>i
function ClosePair(char)
if getline('.')[col('.') - ] == a:char
return "\<Right>"
else
return a:char
endif
end

自动完成括号引号

4、F5一键编译运行C/Cpp文件:

" <F5> 编译和运行C/C++
map <F5> :call CompileRunGcc()<CR>
func CompileRunGcc()
exec "w"
if &filetype == 'c'
echo "Compiling ..."
exec "!gcc % -o %<"
echo "Compiled successfully ..."
exec "! %<"
elseif &filetype == 'cpp'
echo "Compiling ..."
exec "!g++ % -o %<"
echo "Compiled successfully ..."
exec "! %<"
endif
endfunc

一键编译运行C/Cpp文件

5、其余常规设置:

" ============================================================================
" ============================================================================
" 常规配置
" ============================================================================
" ============================================================================
set fileencodings=utf-,gbk "用于正常显示中文注释
set guifont=Courier_New:h11 "设置字体:大小如果字体中间有空格的话,用下划线表示空格,如:
"set guifont=Courier_New:h11
set number "显示行号
set tabstop= "设定tab长度为4
set smarttab "行和段开始时使用制表符
set shiftwidth= "缩进的空格数
set noexpandtab "是否在缩进和Tab键时使用空格代替
"使用noexpandtab取消设置
set smartindent
set cindent
set confirm "处理未保存或只读文件的时候,弹出确认
set shortmess=atI " 去掉欢迎界面
set mouse=n " 在所有模式下都允许使用鼠标,还可以是n,v,i,c等
set showmatch "显示括号配对情况
set clipboard+=unnamed "与windows共享剪贴板
set history= "keep 50 lines of command history
set scrolloff= "光标移动到buffer的顶部和底部时保持3行距离
set laststatus= "启用状态栏信息
set cmdheight= "设置命令行的高度为2,默认为1
set cursorline "突出显示当前行
set nowrap "设置不自动换行
set autoread "当文件在外部被修改,自动更新该文件
set lines= columns= "设置窗口启动时的大小
set writebackup "保存文件前建立备份,保存成功后删除该备份
set nobackup "设置无备份文件
set backspace= "使回格键(backspace)正常处理indent, eol, start等 colorscheme evening "颜色配置 set nobackup "取消自动备份 filetype on
filetype plugin on

 

 
6、添加作者信息(另外格式):
" ============================================================================
" ============================================================================
" 自动添加作者信息设置
" ============================================================================
" ============================================================================
map <F4> :call AddTitle()<cr>
function AddTitle()
call append(,"// Copyright 2014 Blueant Inc. All Rights Reserved.")
call append(,"")
call append(,"/**")
call append(," * @created ".strftime("%Y/%m/%d"))
call append(," * @filename ".expand("%:t"))
call append(," * @author linw1225@163.com(vitah)")
call append(," * @fileoverview")
call append(," */")
echohl WarningMsg | echo "Successful in adding the copyright." | echohl None
endf

Gvim一些基本配置的更多相关文章

  1. 【转】Gvim开发环境配置笔记--Windows篇

    配置文件(vimrc) set nocompatible set nu! set cursorline colorscheme murphy " vim 自身命令行模式智能补全 set wi ...

  2. Env:Gvim开发环境配置笔记--Windows篇

    转自:http://www.cnblogs.com/xiekeli/archive/2012/08/13/2637176.html 加班的时候,听同事提到gvim在windows下的使用,然后突然想起 ...

  3. Gvim各种插件配置(windows环境下)

    1.Vundle插件:https://github.com/gmarik/Vundle.vim 用于管理Vim插件,安装此插件需要系统中已安装git,参考链接:Git for Windows安装和基本 ...

  4. 【LINUX】——gvim中如何配置字体和背景

    打开你的.vimrc文件,添加如下内容: set gfn=Tlwg\ Typist\ 16 colorscheme desert 然后保存退出,source .vimrc.如此,每次打开gvim时,加 ...

  5. gvim 备份文件去除 配置

    默认情况下使用Vim编程,在修改文件后系统会自动生成一个带~的备份文件,看上去又乱又讨人厌. 怎么让Vim不自动生成这些备份文件呢? 1. 找到你的Vim安装目录,如果是在Windows下默认路径安装 ...

  6. Linux gvim windows 版本配置

    http://www.cnblogs.com/xiekeli/archive/2012/08/13/2637176.html 资源在我的网盘里面

  7. Linux基本配置

    Linux发行版:centos 6.5 配置yum源 wget http://mirrors.163.com/.help/CentOS6-Base-163.repo -P /etc/yum.repos ...

  8. Ubuntu 14.04 安装配置备忘录

    完全在 Linux 下工作,大概有3年时间了. 之前都是用 Windows, 而把 Linux 装在虚拟机里,现在反过来,把 Windows 装在了虚拟机里,只是因为偶尔还要用网银的缘故. 以我这几年 ...

  9. Linux一些基本配置

    Linux发行版:centos 6.5 配置yum源 wget http://mirrors.163.com/.help/CentOS6-Base-163.repo -P /etc/yum.repos ...

随机推荐

  1. SQLite的 SQL语法总结

    SQLite库可以解析大部分标准SQL语言.但它也省去了一些特性并且加入了一些自己的新特性.这篇文档就是试图描述那些SQLite支持/不支持的SQL语法的.查看关键字列表. 如下语法表格中,纯文本用蓝 ...

  2. Hadoop WritableComparable接口

    WritableComparable接口 Writable接口大家可能都知道,它是一个实现了序列化协议的序列化对象.在Hadoop中定义一个结构化对象都要实现Writable接口,使得该结构化对象可以 ...

  3. MySQL快捷键

    \c  clear  放弃正在输入的命令\h  help   显示一份命令清单\q   exit  或  quit  退出Mysql程序         在linux里面可以使用Ctr+D快捷键\s  ...

  4. [转] npm命令概述

    PS:问题,nvm找不到正确的下载server NVM_NODEJS_ORG_MIRROR=http://nodejs.org/dist nvm ls-remote NVM_NODEJS_ORG_MI ...

  5. 删除右键菜单的“用阿里旺旺发送此文件”项

    在运行对话框里的输入框内输入Regedit.exe,点击确定按钮就启动了注册表编辑器程序. 在注册表编辑器窗口左侧展开HKEY_CLASSES_ROOT\CLSID{0DE1378D-F811-40E ...

  6. 图论——读书笔记(基于BFS广度优先算法的广度优先树)

    广度优先树 对于一个图G=(V,E)在跑过BFS算法的过程中会创建一棵广度优先树. 形式化一点的表示该广度 优先树的形成过程是这样的: 对于图G=(V,E)是有向图或是无向图, 和图中的源结点s, 我 ...

  7. HibernateTool的安装和使用(Eclipse中)

    http://blog.sina.com.cn/s/blog_919273e20101g1t7.html

  8. Express难点解析

    app.js 应用程序入口文件1.// view engine setup 设置视图引擎app.set('views', path.join(__dirname, 'views'));//告诉expr ...

  9. javaScript 删除数组中指定元素

    Array.prototype.indexOf = function(val) { for (var i = 0; i < this.length; i++) { if (this[i] == ...

  10. C++函数二义性问题,我怎么感觉编译器有偷懒嫌疑!!!

    瞎扯一段,讲得不一定对.纯属学习! struct BB{ void a(){ cout << "bb's a()\n"; }}; struct B1 : public ...