My _vimrc

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
"中文乱码
set fileencodings=utf-8,ucs-bom,cp936,big5
set fileencoding=utf-8

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
if $VIMRUNTIME =~ ' '
if &sh =~ '\<cmd'
if empty(&shellxquote)
let l:shxq_sav = ''
set shellxquote&
endif
let cmd = '"' . $VIMRUNTIME . '\diff"'
else
let cmd = substitute($VIMRUNTIME, ' ', '" ', '') . '\diff"'
endif
else
let cmd = $VIMRUNTIME . '\diff'
endif
silent execute '!' . cmd . ' ' . opt . arg1 . ' ' . arg2 . ' > ' . arg3
if exists('l:shxq_sav')
let &shellxquote=l:shxq_sav
endif
endfunction

" mine
set nu!
colorscheme evening
syntax enable
syntax on
set nobackup "不生成备份文件

set ai "设置自动缩进
set cindent "设置使用 C/C++ 语言的自动缩进方式

set shiftwidth=4 "设置自动缩进 4 个空格
set sts=4 "即设置 softtabstop 为 4. 输入 tab 后就跳了 4 格
set tabstop=4 "实际的 tab 即为 4 个空格, 而不是缺省的 8 个
set textwidth=0
:cd C:\Users\jason\Desktop



"定义CompileRun函数,用来调用编译和运行
func CompileRun()
exec "w"

if &filetype == 'c'
exec "!gcc % -g -o %<.exe"

elseif &filetype == 'cpp'
exec "!g++ % -g -o %<.exe"

elseif &filetype == 'java'
exec "!javac %"
endif
endfunc
"结束定义ComplieRun

"定义Run函数
func Run()
if &filetype == 'c' || &filetype == 'cpp'
exec "!%<.exe"

elseif &filetype == 'java'
exec "!java %<"
endif
endfunc

"定义Debug函数,用来调试程序
func Debug()
exec "w"

if &filetype == 'c'
exec "!gcc % -g -o %<.exe"
exec "!gdb %<.exe"

elseif &filetype == 'cpp'
exec "!g++ % -g -o %<.exe"
exec "!gdb %<.exe"

elseif &filetype == 'java'
exec "!javac %"
exec "!jdb %<"
endif
endfunc

"定义CompileAndRun函数,用来编译并运行程序
func CompileAndRun()
exec "w"

if &filetype == 'c'
exec "!gcc % -g -o %<.exe"
exec "!%<.exe"

elseif &filetype == 'cpp'
exec "!g++ % -g -o %<.exe"
exec "!%<.exe"

elseif &filetype == 'java'
exec "!javac %"
exec "!java %<"
endif
endfunc

"设置程序的运行和调试的快捷键F10和F11
map <F9> :call CompileRun()<CR>
map <F10> :call Run()<CR>
map <F8> :call Debug()<CR>
map <F11> :call CompileAndRun()<CR>