我的vim配置文件,适合大多数人习惯

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 一般设定
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 设定默认解码
set fenc=utf-
set fencs=utf-,usc-bom,euc-jp,gb18030,gbk,gb2312,cp936 " 不要使用vi的键盘模式,而是vim自己的
set nocompatible " history文件中需要记录的行数
set history= " 在处理未保存或只读文件的时候,弹出确认
set confirm " 与windows共享剪贴板
set clipboard+=unnamed " 侦测文件类型
filetype on " 载入文件类型插件
filetype plugin on " 为特定文件类型载入相关缩进文件
filetype indent on " 保存全局变量
set viminfo+=! " 带有如下符号的单词不要被换行分割
set iskeyword+=_,$,@,%,#,- " 语法高亮
syntax on " 高亮字符,让其不受100列限制
:highlight OverLength ctermbg=red ctermfg=white guibg=red guifg=white
:match OverLength '\%101v.*' " 状态行颜色
highlight StatusLine guifg=SlateBlue guibg=Yellow
highlight StatusLineNC guifg=Gray guibg=White """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 文件设置
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 不要备份文件(根据自己需要取舍)
set nobackup " 不要生成swap文件,当buffer被丢弃的时候隐藏它
setlocal noswapfile
set bufhidden=hide " 字符间插入的像素行数目
set linespace= " 增强模式中的命令行自动完成操作
set wildmenu " 在状态行上显示光标所在位置的行号和列号
set ruler
set rulerformat=%(%*%<%f%=\ %m%r\ %3l\ %c\ %p%%%) " 命令行(在状态行下)的高度,默认为1,这里是2
set cmdheight= " 使回格键(backspace)正常处理indent, eol, start等
set backspace= " 允许backspace和光标键跨越行边界
set whichwrap+=<,>,h,l " 可以在buffer的任何地方使用鼠标(类似office中在工作区双击鼠标定位)
set mouse=a
set selection=exclusive
set selectmode=mouse,key " 启动的时候不显示那个援助索马里儿童的提示
set shortmess=atI " 通过使用: commands命令,告诉我们文件的哪一行被改变过
set report= " 不让vim发出讨厌的滴滴声
set noerrorbells " 在被分割的窗口间显示空白,便于阅读
set fillchars=vert:\ ,stl:\ ,stlnc:\ """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 搜索和匹配
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 高亮显示匹配的括号
set showmatch " 匹配括号高亮的时间(单位是十分之一秒)
set matchtime= " 在搜索的时候忽略大小写
set ignorecase " 不要高亮被搜索的句子(phrases)
set nohlsearch " 在搜索时,输入的词句的逐字符高亮(类似firefox的搜索)
set incsearch " 输入:set list命令是应该显示些啥?
set listchars=tab:\|\ ,trail:.,extends:>,precedes:<,eol:$ " 光标移动到buffer的顶部和底部时保持3行距离
set scrolloff= " 不要闪烁
set novisualbell " 我的状态行显示的内容(包括文件类型和解码)
set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [POS=%l,%v][%p%%]\ %{strftime(\"%d/%m/%y\ -\ %H:%M\")} " 总是显示状态行
set laststatus= """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 文本格式和排版
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 自动格式化
set formatoptions=tcrqn " 继承前一行的缩进方式,特别适用于多行注释
set autoindent " 为C程序提供自动缩进
set smartindent " 使用C样式的缩进
" set cindent " 制表符为4
set tabstop= " 统一缩进为4
" set softtabstop=
set shiftwidth= " 不要用空格代替制表符
set expandtab
" 如果改成set noexpandtab就是不用四个空格代替一个table " 不要换行
set nowrap " 在行和段开始处使用制表符
set smarttab """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" CTags的设定
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 按照名称排序
let Tlist_Sort_Type = "name" " 在右侧显示窗口
let Tlist_Use_Right_Window = " 压缩方式
let Tlist_Compart_Format = " 如果只有一个buffer,kill窗口也kill掉buffer
let Tlist_Exist_OnlyWindow = " 不要关闭其他文件的tags
let Tlist_File_Fold_Auto_Close = " 不要显示折叠树
let Tlist_Enable_Fold_Column = """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" Autocommands
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 只在下列文件类型被侦测到的时候显示行号,普通文本文件不显示 if has("autocmd")
autocmd FileType xml,html,c,cs,java,perl,shell,bash,cpp,python,vim,php,ruby set number
autocmd FileType xml,html vmap <C-o> <ESC>'<i<!--<ESC>o<ESC>'>o-->
autocmd FileType java,c,cpp,cs vmap <C-o> <ESC>'<o/*<ESC>'>o*/
autocmd FileType html,text,php,vim,c,java,xml,bash,shell,perl,python setlocal textwidth=
autocmd Filetype html,xml,xsl source $VIMRUNTIME/plugin/closetag.vim
autocmd BufReadPost *
\ if line("'\"") > 0 && line("'\"") <= line("$") |
\ exe "normal g`\"" |
\ endif
endif " has("autocmd") " F5编译和运行C程序,F6编译和运行C++程序
" 请注意,下述代码在windows下使用会报错
" 需要去掉./这两个字符 " C的编译和运行 func! CompileRunGcc()
exec "w"
silent exec "!gcc % -o %<"
exec "! ./%<"
endfunc " C++的编译和运行 func! CompileRunGpp()
exec "w"
silent exec "!g++ % -o %<"
exec "! ./%<"
endfunc func! CompileCode()
if &filetype == "c"
exec "call CompileRunGcc()"
elseif &filetype == "cpp"
exec "call CompileRunGpp()"
endif
endfunc
map<F6> :call CompileCode()<CR> map <F4> :call TitleDet2() <cr>
function AddTitle2()
call append(,"/************************************************************")
call append(," * Author : xiaxiaosheng")
call append(," * Email : x810429187@qq.com ")
call append(," * Last modified : ".strftime("%Y-%m-%d %H:%M"))
call append(," * Filename : ".expand("%:t"))
call append(," * Description :" )
call append(," * *********************************************************/")
echohl WarningMsg |echo "Successful in adding the copyright." | echohl None
endf function UpdateTitle2()
normal m'
execute '/# *Last modified:/s@:.*$@\=strftime(":\t%Y-%m-%d %H:%M")@'
normal ''
normal mk
execute '/# *Filename:/s@:.*$@\=":\t\t".expand("%:t")@'
execute "noh"
normal 'k
echohl WarningMsg | echo "Successful in updating the copy right." | echohl None
endfunction function TitleDet2()
let n=
while n <
let line = getline(n)
if line =~ '^\#\s*\S*Last\smodified:\S*.*$'
call UpdateTitle2()
return
endif
let n = n+
endwhile
call AddTitle2()
endfunction autocmd BufNewFile *.c,*.py,*.cpp,*.sh,*.java exec ":call SetTitle()"
func SetTitle() if &filetype == 'sh'
call setline(,"\#!/bin/bash")
call append(line("."), "# Author: xiaxiaosheng")
call append(line(".")+, "# Created Time: ".strftime("%c"))
call append(line(".")+, "")
elseif &filetype == 'cpp'
call setline(,"// File Name: ".expand("%"))
call append(line("."), "// Author: xiaxiaosheng")
call append(line(".")+, "// Created Time: ".strftime("%c"))
call append(line(".")+, "")
call append(line(".")+, "#include<vector>")
call append(line(".")+, "#include<list>")
call append(line(".")+, "#include<map>")
call append(line(".")+, "#include<set>")
call append(line(".")+, "#include<deque>")
call append(line(".")+, "#include<stack>")
call append(line(".")+, "#include<bitset>")
call append(line(".")+, "#include<algorithm>")
call append(line(".")+, "#include<functional>")
call append(line(".")+, "#include<numeric>")
call append(line(".")+, "#include<utility>")
call append(line(".")+, "#include<sstream>")
call append(line(".")+, "#include<iostream>")
call append(line(".")+, "#include<iomanip>")
call append(line(".")+, "#include<cstdio>")
call append(line(".")+, "#include<cmath>")
call append(line(".")+, "#include<cstdlib>")
call append(line(".")+, "#include<cstring>")
call append(line(".")+, "#include<ctime>")
call append(line(".")+, "")
call append(line(".")+, "using namespace std;")
call append(line(".")+, "")
call append(line(".")+, "int main(){")
call append(line(".")+26,"")
call append(line(".")+27, "return 0;")
call append(line(".")+28, "}") elseif &filetype == 'python'
call setline(,"\#!/usr/bin/env python")
call append(line("."), "# Author: xiaxiaosheng")
call append(line(".")+, "# Created Time: ".strftime("%c"))
call append(line(".")+, "")
elseif &filetype == 'c'
call setline(,"// File Name: ".expand("%"))
call append(line("."), "// Author: xiaxiaosheng")
call append(line(".")+, "// Created Time: ".strftime("%c"))
call append(line(".")+, "")
call append(line(".")+,"#include<stdio.h>")
call append(line(".")+,"#include<string.h>")
call append(line(".")+,"#include<stdlib.h>")
call append(line(".")+,"#include<time.h>")
call append(line(".")+,"#include<math.h>")
call append(line(".")+,"")
call append(line(".")+,"int main(){")
call append(line(".")+10,"")
call append(line(".")+11,"return 0 ;")
call append(line(".")+12,"}")
else
call setline(,"/*")
call append(line("."), "* Author: rechen")
call append(line(".")+, "* Created Time: ".strftime("%c"))
call append(line(".")+, "*/")
call append(line(".")+, "")
endif autocmd BufNewFile * normal G
endfunc " 能够漂亮地显示.NFO文件
set encoding=utf-
function! SetFileEncodings(encodings)
let b:myfileencodingsbak=&fileencodings
let &fileencodings=a:encodings
endfunction
function! RestoreFileEncodings()
let &fileencodings=b:myfileencodingsbak
unlet b:myfileencodingsbak
endfunction au BufReadPre *.nfo call SetFileEncodings('cp437')|set ambiwidth=single
au BufReadPost *.nfo call RestoreFileEncodings() " 高亮显示普通txt文件(需要txt.vim脚本)
au BufRead,BufNewFile * setfiletype txt " 用空格键来开关折叠
set foldenable
set foldmethod=manual
nnoremap <space> @=((foldclosed(line('.')) < ) ? 'zc' : 'zo')<CR> " minibufexpl插件的一般设置
let g:miniBufExplMapWindowNavVim =
let g:miniBufExplMapWindowNavArrows =
let g:miniBufExplMapCTabSwitchBufs =
let g:miniBufExplModSelTarget =

标准vim配置文件 带注释(适合C++编译)的更多相关文章

  1. 一套强大的vim配置文件+详细注释

    phpchina折腾王独家配置,灰常牛叉的一套vim配置,另附有详细注释,自己折腾vim的时候可以参照其中的大部分设置进行一些个性化定制."是否兼容VI,compatible为兼容,noco ...

  2. vim 配置文件 ,高亮+自动缩进+行号+折叠+优化

    vim 配置文件 ,高亮+自动缩进+行号+折叠+优化 将一下代码copy到 用户目录下 新建文件为  .vimrc保存即可生效: 如果想所有用户生效 请修改 /etc/vimrc (建议先cp一份)& ...

  3. vim配置文件和插件管理

    本文通过总结零碎的资料总结而成,更多是去引导学习vim配置文件及插件使用. .vimrc配置文件,内容如下(备注清晰) "引入插件pathogen使用 execute pathogen#in ...

  4. Vim配置文件

    转载 原文网址:http://www.cnblogs.com/ma6174/archive/2011/12/10/2283393.html 花了很长时间整理的,感觉用起来很方便,共享一下. 我的vim ...

  5. 转载~vim配置文件

    转载自:小码哥的博客 花了很长时间整理的,感觉用起来很方便,共享一下. 我的vim配置主要有以下优点: 1.按F5可以直接编译并执行C.C++.java代码以及执行shell脚本,按“F8”可进行C. ...

  6. 【转】强大的vim配置文件,让编程更随意

    原文地址:http://www.cnblogs.com/ma6174/archive/2011/12/10/2283393.html 花了很长时间整理的,感觉用起来很方便,共享一下. 我的vim配置主 ...

  7. [转]强大的vim配置文件,让编程更随意

    转自:http://www.cnblogs.com/ma6174/archive/2011/12/10/2283393.html 花了很长时间整理的,感觉用起来很方便,共享一下. 我的vim配置主要有 ...

  8. 强大的vim配置文件,让编程更随意

    花了很长时间整理的,感觉用起来很方便,共享一下. 我的vim配置主要有以下优点: 1.按F5可以直接编译并执行C.C++.java代码以及执行shell脚本,按“F8”可进行C.C++代码的调试 2. ...

  9. 强大的vim配置文件,让编程更随意 (转载)

    花了很长时间整理的,感觉用起来很方便,共享一下. 我的vim配置主要有以下优点: 1.按F5可以直接编译并执行C.C++.java代码以及执行shell脚本,按“F8”可进行C.C++代码的调试 2. ...

随机推荐

  1. SQLSERVER 的资源限制

    https://docs.microsoft.com/en-us/sql/sql-server/maximum-capacity-specifications-for-sql-server?view= ...

  2. SQLSERVER 升级版本的方法

    1. 以SQLSERVER2014为例说明 SQLSERVER升级版本的方法, 也适用于evaluation 版本超过180天之后的处理. 2. 打开所有的应用 看到有一个 sqlserver2008 ...

  3. 【转】正确的 Composer 扩展包安装方法

    简单解释 composer install - 如有 composer.lock 文件,直接安装,否则从 composer.json 安装最新扩展包和依赖: composer update - 从 c ...

  4. [转]正确设置nginx/php-fpm/apache权限

    核心总结:php-fpm/apache 进程所使用的用户,不能是网站文件所有者. 凡是违背这个原则,则不符合最小权限原则. 根据生产环境不断反馈,发现不断有 php网站被挂木马,绝大部分原因是因为权限 ...

  5. Reverse Words in a String II

    Given an input string, reverse the string word by word. A word is defined as a sequence of non-space ...

  6. STL 算法介绍

    STL 算法介绍 算法概述 算法部分主要由头文件<algorithm>,<numeric>和<functional>组成.        <algorithm ...

  7. MySql数据库迁移图文展示

    MySql数据库的数据从一台服务器迁移到另外一台服务器需要将数据库导出,再从另外一台服务器导入.方法有很多,MySql配套的相关工具都有这个功能.phpMyAdmin就可以做,但是这个加载起来慢,推荐 ...

  8. Codeforces 148D 一袋老鼠 Bag of mice | 概率DP 水题

    除非特别忙,我接下来会尽可能翻译我做的每道CF题的题面! Codeforces 148D 一袋老鼠 Bag of mice | 概率DP 水题 题面 胡小兔和司公子都认为对方是垃圾. 为了决出谁才是垃 ...

  9. 51nod 1494 选举拉票 | 线段树

    51nod1494 选举拉票 题面 现在你要竞选一个县的县长.你去对每一个选民进行了调查.你已经知道每一个人要选的人是谁,以及要花多少钱才能让这个人选你.现在你想要花最少的钱使得你当上县长.你当选的条 ...

  10. 【ARC075F】Mirror

    Description ​ 给定正整数\(D\),求有多少个正整数\(N\),满足\(rev(N)=N+D\). ​ 其中\(rev(N)\)表示将\(N\)的十进制表示翻转来读得到的数(翻转后忽略前 ...