现在的位置: 首页 > 综合 > 正文

ACM GVIM配置 在windows/linux 快捷键

2018年05月01日 ⁄ 综合 ⁄ 共 6394字 ⁄ 字号 评论关闭

普通模式(即命令模式)下,按F5编译运行java,按F9编译运行cpp


1.linux Ubuntu

配置文件位置

" /home/nick
"或者
" /etc/vim/vimrc
"gui界面点击 edit->startup settings
"或者
"gui界面点击 编辑->启动设置

2.windows

配置文件位置

" 程序安装目录的根目录 如:C:

\Program Files (x86)\Vim
"或者
"gui界面点击 edit->startup 

settings
"gui界面点击 编辑->启动设置

3.linux Ubuntu

比赛配置文件

source $VIMRUNTIME/mswin.vim
behave mswin
imap <cr> <cr><left><right>
imap <c-]> {<cr>}<c-o>O<left><right>
imap <c-d> <c-o>dd
map <f6> =a{
map <c-t> :tabnew<cr>
syn on
colo darkblue
set gfn=Courier\ 10\ Pitch\ 12
set ru nu et sta nowrap ar acd ww=<,>,[,] sw=4 ts=4 cin noswf
map <f10> :call CR2()<cr><space>
func CR2()
exec "update"
exec "!xterm -fn 10*20 -e \"g++ %<.cpp -Wall -o %< && time ./%< ; read -n 1\""
endfunc
map <f9> :call CR()<cr><space>
func CR()
exec "update"
exec "!xterm -fn 10*20 -e \"g++ %<.cpp -Wall -o %< && time ./%< < %<.in ; read
1\""
endfunc
map<f4> :call AddComment()<cr>
func AddComment()
if (getline('.')[0] == '/')
normal ^xx
else
normal 0i//
endif
endfunc

平时使用配置

source $VIMRUNTIME/mswin.vim
behave mswin
se gfn=Monospace\ 14
	
func! RunGpp()  
	exec "update" 
	if filereadable(expand('%<').'.in')
			exec "!xterm -fn 10*20 -e \"g++ %<.cpp -Wall -o %< && time ./%< < %<.in ; read -n 1\"" 
	else 
			exec "!xterm -fn 10*20 -e \"g++ %<.cpp -Wall -o %< && time ./%<  ; read -n 1\"" 
	endif			
endfunc  

func! RunJava()  
	exec "update" 
	if filereadable(expand('%<').'.in')
			exec "!xterm -fn 10*20 -e \"javac %<.java && time java %<  < %<.in ; read -n 1\"" 
	else 
			exec "!xterm -fn 10*20 -e \"javac %<.java && time java %<  ; read -n 1\"" 
	endif			
endfunc 

map <c-t> :tabnew <CR>
map <c-w> :close <CR>
map <c-tab> :tabn <CR>
map <F5> :call RunJava()<CR>  
map <F9> :call RunGpp()<CR>  
imap <F9> <ESC>:call RunGpp()<CR>
vmap <F9> <ESC>:call RunGpp()<CR>

colo darkblue
			
set tabstop=4
set softtabstop=4
set shiftwidth=4
set cindent
autocmd! BufWinEnter *    lcd %:p:h
set nu
if &term=="xterm"
	set t_Co=8
	set t_Sb=^[[4%dm
	set t_Sf=^[[3%dm
endif
				
map<f4> :call AddComment()<cr>
func AddComment()
    if matchstr(getline('.'), '[^ ]') == '/'
        normal ^xx
    else
        normal ^i//
    endif
endfunc

noremap <f6> =a{
syn on

map <f2> :call SetTitle()<CR>Gkkk
	func SetTitle()
	let l = 0
	let l = l + 1 | call setline(l, '/*')
	let l = l + 1 | call setline(l, ' * Author:  nick wong')
	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, '#include<cstdio>')
	let l = l + 1 | call setline(l, '#include<iostream>')
	let l = l + 1 | call setline(l, '#include<cstring>')
	let l = l + 1 | call setline(l, '#include<cstdlib>')
	let l = l + 1 | call setline(l, '#include<cmath>')
	let l = l + 1 | call setline(l, '#include<algorithm>')
	let l = l + 1 | call setline(l, '#include<string>')
	let l = l + 1 | call setline(l, '#include<map>')
	let l = l + 1 | call setline(l, '#include<set>')
	let l = l + 1 | call setline(l, '#include<vector>')
	let l = l + 1 | call setline(l, '#include<queue>')
	let l = l + 1 | call setline(l, '#include<stack>')
	let l = l + 1 | call setline(l, 'using namespace std;')
	let l = l + 1 | call setline(l, '#define out(x) cout<<#x<<": "<<x<<endl')
	let l = l + 1 | call setline(l, 'const double eps(1e-8);')
	let l = l + 1 | call setline(l, 'const int maxn=10100;')
	let l = l + 1 | call setline(l, 'const long long maxint=-1u>>1;')
	let l = l + 1 | call setline(l, 'const long long maxlong=maxint*maxint;')	
	let l = l + 1 | call setline(l, 'typedef long long lint;')
	let l = l + 1 | call setline(l, '')
	let l = l + 1 | call setline(l, 'void init()')
	let l = l + 1 | call setline(l, '{')
	let l = l + 1 | call setline(l, '}')
	let l = l + 1 | call setline(l, '')
	let l = l + 1 | call setline(l, 'void work()')
	let l = l + 1 | call setline(l, '{')
	let l = l + 1 | call setline(l, '}')
	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, '   ')
	let l = l + 1 | call setline(l, '    init();')
	let l = l + 1 | call setline(l, '    work();')
	let l = l + 1 | call setline(l, '    return 0;')
	let l = l + 1 | call setline(l, '}')
endfunc

cd /home/nick/cpp


4.windows

配置文件

source $VIMRUNTIME/mswin.vim
behave mswin
:set shiftwidth=3  
"imap <c-d> <c-o>dd
imap <cr> <cr><left><right>
map o o<left><right>
imap <c-]> {<cr>}<c-o>O<left><right>
noremap <f6> =a{
syn on
colo darkblue
filetype indent on
se ru nu ar sw=4 ts=4 noswf et sta nowrap ww=<,>,[,] gfn=Ubuntu\ Mono:h48
set gfn=courier_new:h16 "设置字体跟字体大小
autocmd BufEnter * lcd %:p:h
map <c-t> :tabnew<CR>
map <c-w> :close<CR>
map <f9> :call CR()<CR><CR>
map <c-tab> :tabn<CR>
map <c-s-tab> :tabp<CR>
func CR()
exec 'update'
if filereadable(expand('%<').'.in')
    exec '!start cmd /c g++ -g -Wall %<.cpp -o %<.exe & pause & %< < %<.in & pause'
else
    exec '!start cmd /c g++ -Wall %<.cpp -o %<.exe & pause & %< & pause'
endif
endfunc
map <f5> :call CallJava()<CR><CR>
func CallJava()
exec 'update'
if filereadable(expand('%<').'.in')
    exec '!start cmd /c javac %<.java & pause & java %< < %<.in & pause'
else
    exec '!start cmd /c javac %<.java & pause & java %< & pause'
endif
endfunc
map <f2> :call SetTitle()<CR>Gkkk
func SetTitle()
	let l = 0
	let l = l + 1 | call setline(l, '/*')
	let l = l + 1 | call setline(l, ' * Author: NICK WONG')
	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, '#include<iostream>')
	let l = l + 1 | call setline(l, '#include<sstream>')
	let l = l + 1 | call setline(l, '#include<fstream>')
	let l = l + 1 | call setline(l, '#include<vector>')
	let l = l + 1 | call setline(l, '#include<list>')
	let l = l + 1 | call setline(l, '#include<deque>')
	let l = l + 1 | call setline(l, '#include<queue>')
	let l = l + 1 | call setline(l, '#include<stack>')
	let l = l + 1 | call setline(l, '#include<map>')
	let l = l + 1 | call setline(l, '#include<set>')
	let l = l + 1 | call setline(l, '#include<bitset>')
	let l = l + 1 | call setline(l, '#include<algorithm>')
	let l = l + 1 | call setline(l, '#include<cstdio>')
	let l = l + 1 | call setline(l, '#include<cstdlib>')
	let l = l + 1 | call setline(l, '#include<cstring>')
	let l = l + 1 | call setline(l, '#include<cctype>')
	let l = l + 1 | call setline(l, '#include<cmath>')
	let l = l + 1 | call setline(l, '#include<ctime>')
	let l = l + 1 | call setline(l, '#include<iomanip>')
	let l = l + 1 | call setline(l, 'using namespace std;')
	let l = l + 1 | call setline(l, '#define out(x) cout<<#x<<": "<<x<<endl')
	let l = l + 1 | call setline(l, 'const double eps(1e-8);')
	let l = l + 1 | call setline(l, 'const int maxn=10100;')
	let l = l + 1 | call setline(l, 'const long long maxint=-1u>>1;')
	let l = l + 1 | call setline(l, 'const long long maxlong=maxint*maxint;')
	let l = l + 1 | call setline(l, 'typedef long long lint;')
	let l = l + 1 | call setline(l, '')
	let l = l + 1 | call setline(l, 'void init()')
	let l = l + 1 | call setline(l, '{')
	let l = l + 1 | call setline(l, '}')
	let l = l + 1 | call setline(l, '')
	let l = l + 1 | call setline(l, 'void work()')
	let l = l + 1 | call setline(l, '{')
	let l = l + 1 | call setline(l, '}')
	let l = l + 1 | call setline(l, '')
	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, '   ')
	let l = l + 1 | call setline(l, '    init();')
	let l = l + 1 | call setline(l, '    work();')
	let l = l + 1 | call setline(l, '    return 0;')
	let l = l + 1 | call setline(l, '}')
endfunc

map<f4> :call AddComment()<cr>
func AddComment()
    if matchstr(getline('.'), '[^ ]') == '/'
        normal ^xx
    else
        normal ^i//
    endif
endfunc

set printoptions=syntax:n,number:y,portrait:y

cd E:\cpp "新建文件默认路径

"set encoding=utf-8
"set fileencodings=utf-8,gb2312,gb18030,gbk,ucs-bom,cp936,latin1 " 如果你要打开的文件编码不在此列,那就添加进去
"set termencoding=utf-8

5.附上gVim快捷键全图

抱歉!评论已关闭.