1 "代码
2 set nocompatible "不要使用vi的键盘模式,而是vim自己的
3 source $VIMRUNTIME/mswin.vim4 behave mswin "兼容windows下的快捷键
5
6 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
7 "GVIM自身的设置
8 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""9 language messages zh_CN.utf-8 "解决consle输出乱码
10 colorscheme desert "灰褐色主题
11 set guioptions-=T "隐藏工具栏
12 set guifont=Monaco:h10 "字体 && 字号
13 set noerrorbells "关闭错误提示音
14 set nobackup "不要备份文件
15 set linespace=0 "字符间插入的像素行数目
16 set shortmess=atI "启动的时候不显示那个援助索马里儿童的提示
17 set novisualbell "不要闪烁
18 set scrolloff=3 "光标移动到buffer的顶部和底部时保持3行距离
19 set mouse=a "可以在buffer的任何地方 ->
20 set selection=exclusive "使用鼠标(类似office中 ->
21 set selectmode=mouse,key "在工作区双击鼠标定位)
22 set cursorline "突出显示当前行
23 set nu! "显示行号
24 set whichwrap+=,h,l "允许backspace和光标键跨越行边界
25 set completeopt=longest,menu "按Ctrl+N进行代码补全
26
27 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
28 "文本格式和排版
29 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
30 set list "显示Tab符,->
31 set listchars=tab:\|\ , "使用一高亮竖线代替
32 set tabstop=4 "制表符为4
33 set autoindent "自动对齐(继承前一行的缩进方式)
34 set smartindent "智能自动缩进(以c程序的方式)
35 set softtabstop=4
36 set shiftwidth=4 "换行时行间交错使用4个空格
37 set noexpandtab "不要用空格代替制表符
38 ""set expandtab39 set cindent "使用C样式的缩进
40 set smarttab "在行和段开始处使用制表符
41 set nowrap "不要换行显示一行
42
43
44 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""45 "状态行(命令行)的显示
46 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""47 set cmdheight=2 "命令行(在状态行下)的高度,默认为1,这里是2
48 set ruler "右下角显示光标位置的状态行
49 set laststatus=2 "开启状态栏信息
50 set wildmenu "增强模式中的命令行自动完成操作
51
52
53 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""54 "文件相关
55 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""56 set fenc=utf-8
57 set encoding=utf-8 "设置vim的工作编码为utf-8,如果源文件不是此编码,vim会进行转换后显示
58 set fileencoding=utf-8 "让vim新建文件和保存文件使用utf-8编码
59 set fileencodings=utf-8,gbk,cp936,latin-1
60 filetype on "侦测文件类型
61 filetype indent on "针对不同的文件类型采用不同的缩进格式
62 filetype plugin on "针对不同的文件类型加载对应的插件
63 syntax on "语法高亮
64 filetype plugin indent on "启用自动补全
65
66
67 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""68 "查找
69 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""70 set hlsearch "开启高亮显示结果
71 set nowrapscan "搜索到文件两端时不重新搜索
72 set incsearch "开启实时搜索功能
73
74
75 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""76 "语言的编译和运行
77 "支持的语言:java F5编译(保存+编译) F6运行
78 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""79 func!CompileCode()80 exec "w"
81 if &filetype == "java"
82 exec "!javac -encoding utf-8 %"
83 endif84 endfunc85 func!RunCode()86 if &filetype == "java"
87 exec "!java -classpath %:h; %:t:r"
88 endif89 endfunc90
91 "F5 保存+编译
92 map :call CompileCode()
93
94 "F6 运行
95 map :call RunCode()
96
97
98 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""99 "实用功能
100 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""101 "--------引号 && 括号自动匹配
102 :inoremap ( ()i103 :inoremap ) =ClosePair(')')
104 :""inoremap { {}i105 :""inoremap } =ClosePair('}')
106 imap { {}iO107 "插入大括号 就是录制一个宏
108 :inoremap [ []i109 :inoremap ] =ClosePair(']')
110 ":inoremap < <>i
111 ":inoremap > =ClosePair('>')
112 :inoremap " ""i
113 :inoremap ' ''i
114 :inoremap ` ``i115 function ClosePair(char)116 if getline('.')[col('.') - 1] == a:char
117 return "\"
118 else
119 return a:char
120 endif121 endf122 "--------启用代码折叠,用空格键来开关折叠
123 set foldenable "打开代码折叠
124 set foldmethod=syntax "选择代码折叠类型
125 set foldlevel=100 "禁止自动折叠
126 nnoremap @=((foldclosed(line('.')) < 0) ? 'zc':'zo')
127
128 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""129 "插件
130 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""131 "打开文件浏览窗口 插件为WinManager
132 let g:winManagerWindowLayout='FileExplorer'
133 nmap :WMToggle
134
135 "MiniBufExplorer
136 let g:miniBufExplMapWindowNavVim = 1
137 let g:miniBufExplMapWindowNavArrows = 1
138 let g:miniBufExplMapCTabSwitchBufs = 1
139 let g:miniBufExplModSelTarget = 1
140
141 "新建.c,.h,.sh,.java文件,自动插入文件头
142 autocmd BufNewFile *.cpp,*.[ch],*.sh,*.java exec ":call SetTitle()"
143 ""定义函数SetTitle,自动插入文件头144 func SetTitle()145 "如果文件类型为.sh文件
146 if &filetype == 'sh'
147 call setline(1,"\###########################################################")148 call append(line("."), "\# Filename:".expand("%"))149 call append(line(".")+1, "\# Author: ChrisZZ")150 call append(line(".")+2, "\# E-mail: zchrissirhcz@163.com")151 call append(line(".")+3, "\# Created Time:".strftime("%c"))152 call append(line(".")+4, "\###################################################")153 call append(line(".")+5, "\#!/bin/bash")154 call append(line(".")+6, "")155 endif156
157 if &filetype == 'c'
158 call setline(1, "/*")159 call append(line("."), "* =================================================")160 call append(line(".")+1, "*")161 call append(line(".")+2, "* Filename:".expand("%"))162 call append(line(".")+3, "*")163 call append(line(".")+4, "* Description:")164 call append(line(".")+5, "*")165 call append(line(".")+6, "* Version: 0.01")166 call append(line(".")+7, "* Created:".strftime("%c"))167 call append(line(".")+8, "* Author: ChrisZZ, zchrissirhcz@163.com")168 call append(line(".")+9,"* Company: ZJUT")169 call append(line(".")+10, "*")170 call append(line(".")+11, "* =================================================")171 call append(line(".")+12, "*/")172 call append(line(".")+13, "#include")173 call append(line(".")+14, "")174 call append(line(".")+15, "int main(int argc, char** argv){")175 call append(line(".")+16, "")176 call append(line(".")+17, "return 0;")177 call append(line(".")+18, "}")178 endif179
180 if &filetype == 'cpp'
181 call setline(1, "/*")182 call append(line("."), "* =================================================")183 call append(line(".")+1, "*")184 call append(line(".")+2, "* Filename:".expand("%"))185 call append(line(".")+3, "*")186 call append(line(".")+4, "* Description:")187 call append(line(".")+5, "*")188 call append(line(".")+6, "* Version: 0.01")189 call append(line(".")+7, "* Created:".strftime("%c"))190 call append(line(".")+8, "* Author: ChrisZZ, zchrissirhcz@163.com")191 call append(line(".")+9,"* Company: ZJUT")192 call append(line(".")+10, "*")193 call append(line(".")+11, "* =================================================")194 call append(line(".")+12, "*/")195 call append(line(".")+13, "#include")196 call append(line(".")+14, "using namespace std;")197 call append(line(".")+15, "int main(){")198 call append(line(".")+16, "")199 call append(line(".")+17, "return 0;")200 call append(line(".")+18, "}")201 endif202
203 if &filetype == 'java'
204 call setline(1, "/*")205 call append(line("."), "* =================================================")206 call append(line(".")+1, "*")207 call append(line(".")+2, "* Filename:".expand("%"))208 call append(line(".")+3, "*")209 call append(line(".")+4, "* Description:")210 call append(line(".")+5, "*")211 call append(line(".")+6, "* Version: 0.01")212 call append(line(".")+7, "* Created:".strftime("%c"))213 call append(line(".")+8, "* Author: ChrisZZ, zchrissirhcz@163.com")214 call append(line(".")+9,"* Company: ZJUT")215 call append(line(".")+10, "*")216 call append(line(".")+11, "* =================================================")217 call append(line(".")+12, "*/")218 call append(line(".")+13, "")219 endif220
221
222 "新建文件后,自动定位到文件末尾
223 autocmd BufNewFile *normal G224
225 endfunc
vim Java 文件结构
转载文章标签 vim Java 文件结构 vim java 配置文件 java vim 缩进 文章分类 Java 后端开发
下一篇:容器snat记录