ACM中的vim配置


把vim当主力编辑器搞acm很长一段时间了,用vim的好处不必多说,

在此总结一下ACM中的vim配置方法,配置直接写到 ~/.vimrc 中就可以了.  



比赛用的14行配置:

syntax on
set cindent
set nu
set tabstop=4
set shiftwidth=4
set background=dark

map  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\ 14

map  :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	
endfunc

map  ggVG"+y

map  :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. 调试好了以后 复制代码到粘贴板,提交



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

你可能感兴趣的:(Ubuntu技巧)