2013-team4/vimrc
从 Trac 迁移的文章
这是从旧校内 Wiki 迁移的文章,可能存在一些样式问题,您可以向 memset0 反馈。
原文章内容如下:
{{{
source $VIMRUNTIME/mswin.vim
source $VIMRUNTIME/vimrc_example.vim
behave mswin
colo desert
set nu ai ts=4 sw=4
autocmd FileType cpp set cin cino=:0g0t0(sus makeprg=g++\ %\ -o\ %<
autocmd FileType java set makeprg=javac\ %
:map <F9> :call MK()<CR>
:imap <F9> <Esc><F9>
function MK()
exec "w"
exec "make"
exec "cw"
endfunction
}}}
{{{
source $VIMRUNTIME/mswin.vim
source $VIMRUNTIME/vimrc_example.vim
behave mswin
set number autoindent tabstop=4 shiftwidth=4
autocmd FileType c,cpp set cindent cinoptions=:0g0t0(sus
autocmd FileType cpp set makeprg=g++\ %\ -o\ %<
:imap <F9> <Esc>:call Make()<CR>
:map <F9> :call Make()<CR>
function Make()
exec "w"
exec "make"
exec "cw"
endfunction
if has("gui_running")
set lines=40 columns=111
colo desert
endif
}}}
Bobgy's:
{{{
set nocompatible
source $VIMRUNTIME/vimrc_example.vim
source $VIMRUNTIME/mswin.vim
behave mswin
set diffexpr=MyDiff()
function MyDiff()
let opt = '-a --binary '
if &diffopt =~ 'icase' | let opt = opt . '-i ' | endif
if &diffopt =~ 'iwhite' | let opt = opt . '-b ' | endif
let arg1 = v:fname_in
if arg1 =~ ' ' | let arg1 = '"' . arg1 . '"' | endif
let arg2 = v:fname_new
if arg2 =~ ' ' | let arg2 = '"' . arg2 . '"' | endif
let arg3 = v:fname_out
if arg3 =~ ' ' | let arg3 = '"' . arg3 . '"' | endif
let eq = ''
if $VIMRUNTIME =~ ' '
if &sh =~ '\<cmd'
let cmd = '""' . $VIMRUNTIME . '\diff"'
let eq = '"'
else
let cmd = substitute($VIMRUNTIME, ' ', '" ', '') . '\diff"'
endif
else
let cmd = $VIMRUNTIME . '\diff'
endif
silent execute '!' . cmd . ' ' . opt . arg1 . ' ' . arg2 . ' > ' . arg3 . eq
endfunction
colo desert
set nu ai ts=4 sw=4
autocmd FileType cpp set cin cino=:0g0t0(sus makeprg=g++\ %\ -o\ %<\ -std=c++11
autocmd FileType java set makeprg=javac\ %
:map <F9> :call MK()<CR>
:imap <F9> <Esc><F9>
:map <F12> i#include <bits/stdc++.h><cr>#ifdef ONLINE_JUDGE<cr> #define out(x)<cr>#else<cr> #define out(x) cerr<<#x"="<<(x)<<endl<cr>#endif<cr>using namespace std;<cr>#define REP(i,n) for(int i=0; i<int(n); i++)<cr>#define PB push_back<cr>#define MP make_pair<cr>#define X first<cr>#define Y second<cr>typedef long long LL;<cr>typedef vector<int> vi;<cr>typedef pair<int, int> pii;<cr>typedef vector<pii> vpii;<cr>
:map! <F12> #include <bits/stdc++.h><cr>#ifdef ONLINE_JUDGE<cr> #define out(x)<cr>#else<cr> #define out(x) cerr<<#x"="<<(x)<<endl<cr>#endif<cr>using namespace std;<cr>#define REP(i,n) for(int i=0; i<int(n); i++)<cr>#define PB push_back<cr>#define MP make_pair<cr>#define X first<cr>#define Y second<cr>typedef long long LL;<cr>typedef vector<int> vi;<cr>typedef pair<int, int> pii;<cr>typedef vector<pii> vpii;<cr>
:map <F5> :!%:r<CR>
:map! <F5> <Esc>:!%:r<CR>
function MK()
exec "w"
exec "make"
exec "cw"
endfunction
}}}
source $VIMRUNTIME/mswin.vim
source $VIMRUNTIME/vimrc_example.vim
behave mswin
colo desert
set nu ai ts=4 sw=4
autocmd FileType cpp set cin cino=:0g0t0(sus makeprg=g++\ %\ -o\ %<
autocmd FileType java set makeprg=javac\ %
:map <F9> :call MK()<CR>
:imap <F9> <Esc><F9>
function MK()
exec "w"
exec "make"
exec "cw"
endfunction
source $VIMRUNTIME/mswin.vim
source $VIMRUNTIME/vimrc_example.vim
behave mswin
set number autoindent tabstop=4 shiftwidth=4
autocmd FileType c,cpp set cindent cinoptions=:0g0t0(sus
autocmd FileType cpp set makeprg=g++\ %\ -o\ %<
:imap <F9> <Esc>:call Make()<CR>
:map <F9> :call Make()<CR>
function Make()
exec "w"
exec "make"
exec "cw"
endfunction
if has("gui_running")
set lines=40 columns=111
colo desert
endif
Bobgy's:
set nocompatible
source $VIMRUNTIME/vimrc_example.vim
source $VIMRUNTIME/mswin.vim
behave mswin
set diffexpr=MyDiff()
function MyDiff()
let opt = '-a --binary '
if &diffopt =~ 'icase' | let opt = opt . '-i ' | endif
if &diffopt =~ 'iwhite' | let opt = opt . '-b ' | endif
let arg1 = v:fname_in
if arg1 =~ ' ' | let arg1 = '"' . arg1 . '"' | endif
let arg2 = v:fname_new
if arg2 =~ ' ' | let arg2 = '"' . arg2 . '"' | endif
let arg3 = v:fname_out
if arg3 =~ ' ' | let arg3 = '"' . arg3 . '"' | endif
let eq = ''
if $VIMRUNTIME =~ ' '
if &sh =~ '\<cmd'
let cmd = '""' . $VIMRUNTIME . '\diff"'
let eq = '"'
else
let cmd = substitute($VIMRUNTIME, ' ', '" ', '') . '\diff"'
endif
else
let cmd = $VIMRUNTIME . '\diff'
endif
silent execute '!' . cmd . ' ' . opt . arg1 . ' ' . arg2 . ' > ' . arg3 . eq
endfunction
colo desert
set nu ai ts=4 sw=4
autocmd FileType cpp set cin cino=:0g0t0(sus makeprg=g++\ %\ -o\ %<\ -std=c++11
autocmd FileType java set makeprg=javac\ %
:map <F9> :call MK()<CR>
:imap <F9> <Esc><F9>
:map <F12> i#include <bits/stdc++.h><cr>#ifdef ONLINE_JUDGE<cr> #define out(x)<cr>#else<cr> #define out(x) cerr<<#x"="<<(x)<<endl<cr>#endif<cr>using namespace std;<cr>#define REP(i,n) for(int i=0; i<int(n); i++)<cr>#define PB push_back<cr>#define MP make_pair<cr>#define X first<cr>#define Y second<cr>typedef long long LL;<cr>typedef vector<int> vi;<cr>typedef pair<int, int> pii;<cr>typedef vector<pii> vpii;<cr>
:map! <F12> #include <bits/stdc++.h><cr>#ifdef ONLINE_JUDGE<cr> #define out(x)<cr>#else<cr> #define out(x) cerr<<#x"="<<(x)<<endl<cr>#endif<cr>using namespace std;<cr>#define REP(i,n) for(int i=0; i<int(n); i++)<cr>#define PB push_back<cr>#define MP make_pair<cr>#define X first<cr>#define Y second<cr>typedef long long LL;<cr>typedef vector<int> vi;<cr>typedef pair<int, int> pii;<cr>typedef vector<pii> vpii;<cr>
:map <F5> :!%:r<CR>
:map! <F5> <Esc>:!%:r<CR>
function MK()
exec "w"
exec "make"
exec "cw"
endfunction