vim代码风格、使用javac.exe和java.exe命令

转载自:http://s1099.iteye.com/blog/1447662
set nocompatible "不要使用vi的键盘模式,而是vim自己的  
source $VIMRUNTIME/mswin.vim  
behave mswin    "兼容windows下的快捷键  
  
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""   
" GVIM自身的设置  
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""  
language messages zh_CN.utf-8   " 解决consle输出乱码  
colorscheme desert              " 灰褐色主题  
set guioptions-=T       " 隐藏工具栏  
set guifont=Monaco:h10          " 字体 && 字号  
set noerrorbells        " 关闭错误提示音  
set nobackup            " 不要备份文件  
set linespace=0         " 字符间插入的像素行数目  
set shortmess=atI       " 启动的时候不显示那个援助索马里儿童的提示  
set novisualbell        " 不要闪烁   
set scrolloff=3         " 光标移动到buffer的顶部和底部时保持3行距离  
set mouse=a             " 可以在buffer的任何地方 ->  
set selection=exclusive         " 使用鼠标(类似office中 ->  
set selectmode=mouse,key        " 在工作区双击鼠标定位)  
set cursorline                  " 突出显示当前行  
set nu!   " 显示行号  
set whichwrap+=<,>,h,l        " 允许backspace和光标键跨越行边界   
set completeopt=longest,menu    "按Ctrl+N进行代码补全  
  
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""   
" 文本格式和排版   
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""   
set list                        " 显示Tab符,->  
set listchars=tab:\|\ ,         " 使用一高亮竖线代替  
set tabstop=4           " 制表符为4  
set autoindent          " 自动对齐(继承前一行的缩进方式)  
set smartindent         " 智能自动缩进(以c程序的方式)  
set softtabstop=4   
set shiftwidth=4        " 换行时行间交错使用4个空格  
set noexpandtab         " 不要用空格代替制表符  
set cindent         " 使用C样式的缩进  
set smarttab            " 在行和段开始处使用制表符  
set nowrap          " 不要换行显示一行   
  
   
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""  
" 状态行(命令行)的显示  
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""  
set cmdheight=2          " 命令行(在状态行下)的高度,默认为1,这里是2  
set ruler                " 右下角显示光标位置的状态行  
set laststatus=2         " 开启状态栏信息   
set wildmenu             " 增强模式中的命令行自动完成操作   
  
  
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""  
" 文件相关  
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""  
set fenc=utf-8  
set encoding=utf-8      " 设置vim的工作编码为utf-8,如果源文件不是此编码,vim会进行转换后显示  
set fileencoding=utf-8      " 让vim新建文件和保存文件使用utf-8编码  
set fileencodings=utf-8,gbk,cp936,latin-1  
filetype on                  " 侦测文件类型  
filetype indent on               " 针对不同的文件类型采用不同的缩进格式  
filetype plugin on               " 针对不同的文件类型加载对应的插件  
syntax on                    " 语法高亮  
filetype plugin indent on    " 启用自动补全  
  
  
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""  
" 查找  
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""  
set hlsearch                 " 开启高亮显示结果  
set nowrapscan               " 搜索到文件两端时不重新搜索  
set incsearch                " 开启实时搜索功能  
  
  
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""  
" 语言的编译和运行             
" 支持的语言:java         F5编译(保存+编译)  F6运行  
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""  
func! CompileCode()  
    exec "w"  
    if &filetype == "java"  
        exec "!javac -encoding utf-8 %"  
    endif  
endfunc  
func! RunCode()  
    if &filetype == "java"  
        exec "!java -classpath %:h; %:t:r"  
    endif  
endfunc  
   
" F5 保存+编译  
map <F5> :call CompileCode()<CR>  
  
"  F6 运行  
map <F6> :call RunCode()<CR>  
  
  
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""  
" 实用功能  
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""  
"--------引号 && 括号自动匹配  
:inoremap ( ()<ESC>i  
:inoremap ) <c-r>=ClosePair(')')<CR>  
:inoremap { {}<ESC>i  
:inoremap } <c-r>=ClosePair('}')<CR>  
:inoremap [ []<ESC>i  
:inoremap ] <c-r>=ClosePair(']')<CR>  
":inoremap < <><ESC>i  
":inoremap > <c-r>=ClosePair('>')<CR>  
:inoremap " ""<ESC>i  
:inoremap ' ''<ESC>i  
:inoremap ` ``<ESC>i  
function ClosePair(char)  
    if getline('.')[col('.') - 1] == a:char  
        return "\<Right>"  
    else  
        return a:char  
    endif  
endf  
"--------启用代码折叠,用空格键来开关折叠   
set foldenable           " 打开代码折叠  
set foldmethod=syntax        " 选择代码折叠类型  
set foldlevel=100            " 禁止自动折叠  
nnoremap <space> @=((foldclosed(line('.')) < 0) ? 'zc':'zo')<CR>   
  
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""  
" 插件  
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""  
" <F9>打开文件浏览窗口   插件为WinManager  
let g:winManagerWindowLayout='FileExplorer'  
nmap <F9> :WMToggle<CR>  
  
" MiniBufExplorer       
let g:miniBufExplMapWindowNavVim = 1   
let g:miniBufExplMapWindowNavArrows = 1   
let g:miniBufExplMapCTabSwitchBufs = 1   
let g:miniBufExplModSelTarget = 1
显示的效果是:


这些配置是我综合网上给出的多个配置文件,并结合自己的使用情况及理解程度,综合整理而来的,实现的功能有限。

这里推荐一个配置文件: http://www.oschina.net/code/snippet_103341_8984,我从中也借鉴不少。

 

使用方法:将附件_vimrc.zip中的_vimrc覆盖掉你的gvim路径下的_vimrc即可。

 

经过一番配置文件的编写,我深深体会vim的强大,体会到什么叫做定制、扩展,真是一千个Vimer就有一千个Vim。

 

更新2012-3-12:①在配置文件中添加 ”set completeopt=longest,menu "按Ctrl+N进行代码补全 “

                                ②修改了javac命令的调用,不修改的话javac会按照gbk编码来编译,当源文件中有中文注 释时,会报错,因此在javac命令的后面指定了使用utf-8编码来编译。


更新2012-3-21:添加了两个插件,一个是文件浏览(F9 打开/关闭),一个是多标签编辑文件(ctrl+tab 进行切换)。插件打开后的效果是(要将_vimrc.zip中其它的3个文件放在gvim路径下vimfiles/plugin文件夹下):


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值