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