ACM中的vim配置



把vim当主力编辑器搞acm很长一段时间了,用vim的好处不必多说,
在此总结一下ACM中的vim配置方法,配置直接写到 ~/.vimrc 中就可以了.




比赛用的14行配置:

syntax on set cindent set nu set tabstop=4 set shiftwidth=4 set background=darkmap ggVG"+y map :call Run() func! Run() exec "w" exec "!g++ -Wall % -o %<" exec "!./%<" endfunc



日常用的配置:
主要多了运行java,一键补全头文件,字体什么的

syntax on set cindent set mouse=a set tabstop=4 set shiftwidth=4 set nu set nocompatible set showmode set showcmd set ignorecase smartcase set hlsearch set autoindent set smarttab set smartindent"colorscheme solarized set background=dark set gfn=Source\ Code\ Pro\ 14map :call Run() func! Run() exec "w" if &filetype is 'cpp'|| &filetype is 'c' || &filetype is 'cc' exec "!clang++ -Wall % -o %<" exec "!./%<" elseif &filetype is 'java' exec "!javac\ -d\ .\ %" exec "!java\ %<" endif endfuncmap ggVG"+ymap :call SetTitle() func SetTitle() let l = 0 let l = l + 1 | call setline(l,'/* ***********************************************') let l = l + 1 | call setline(l,'Author:CKboss') let l = l + 1 | call setline(l,'Created Time:'.strftime('%c')) let l = l + 1 | call setline(l,'File Name:'.expand('%')) let l = l + 1 | call setline(l,'************************************************ */') let l = l + 1 | call setline(l,'')let l = l + 1 | call setline(l,'#include ') let l = l + 1 | call setline(l,'#include ') let l = l + 1 | call setline(l,'#include ') let l = l + 1 | call setline(l,'#include ') let l = l + 1 | call setline(l,'#include ') let l = l + 1 | call setline(l,'#include ') let l = l + 1 | call setline(l,'#include ') let l = l + 1 | call setline(l,'#include ') let l = l + 1 | call setline(l,'#include ') let l = l + 1 | call setline(l,'#include ') let l = l + 1 | call setline(l,'#include ') let l = l + 1 | call setline(l,'') let l = l + 1 | call setline(l,'using namespace std; ') let l = l + 1 | call setline(l,'') let l = l + 1 | call setline(l,'int main()') let l = l + 1 | call setline(l,'{') let l = l + 1 | call setline(l,' //freopen("in.txt","r",stdin); ') let l = l + 1 | call setline(l,' //freopen("out.txt","w",stdout); ') let l = l + 1 | call setline(l,'') let l = l + 1 | call setline(l,'return 0; ') let l = l + 1 | call setline(l,'}') endfunc




linux系统中用vim写acm代码的说明:
(注:在终端中使用以获得最佳效果)

1.打开终端 mkdir 新建文件夹 , touch 新建文件
2. vim xxx.cpp 然后写代码就可以了
3. 写好了以后直接按,会自动跳回终端编译并运行,Ctrl-C中断运行并跳回vim
4. 调试好了以后 复制代码到粘贴板,提交




【ACM中的vim配置】Kuangbin大神的配置:http://www.kuangbin.net/archives/vim-acmicpc

    推荐阅读