注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

(power up)

道可道,非常道。

 
 
 

日志

 
 
 
 

Windows下我的gvim配置  

2011-08-22 09:19:50|  分类: Vim |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
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

" 设置光标在行首时按退格键,光标会回到上一行行尾
set backspace=indent,eol,start

set nu
set expandtab
set tabstop=4
set softtabstop=4
set shiftwidth=4
set cindent
set nobackup
set fileformat=unix
set ignorecase

set fencs=utf-8,ucs-bom,gbk,gb2312,cp936
set encoding=utf-8

set langmenu=zh_CN
let $LANG='zh_CN.UTF-8'
source $VIMRUNTIME/delmenu.vim
source $VIMRUNTIME/menu.vim
language message zh_CN.utf-8

" set window
winpos 200 100
set lines=35 columns=110
colo peachpuff

" set swp files path
set directory=D:\gvimswps
" set tags file path
set tags=Y:\alpha\tags

"'FileExplorer|TagList'
let g:winManagerWindowLayout='FileExplorer|TagList,BufExplorer'
nmap wm :WMToggle<cr>

" set guifont=Courier\ New:h11
colorscheme koehler

" Tab 之间切换
if has("gui_running")
    nmap <c-tab> :tabnext<CR>
nmap <c-s-tab> :tabp<cr>
endif

" 标签页只显示文件名
function ShortTabLabel ()
    let bufnrlist = tabpagebuflist (v:lnum)
    let label = bufname (bufnrlist[tabpagewinnr (v:lnum) -1])
    let filename = fnamemodify (label, ':t')
    return filename
endfunction
set guitablabel=%{ShortTabLabel()}

" 设置当前行背景<设置列set cursorcolumn whit>
set cursorline
set nocursorcolumn

" 设置字体、字号
"set guifont=Courier\ New:h11
set guifont=Consolas:h10:i:cANSI

" 行注释    不太管用
" nmap <silent> <c-/> <ESC>0i//

" 类型检测、加载类型插件、类型缩进<filetype plugin indent on>
filetype plugin on

" 取消bi bi声
" set vb t_vb=\". 

" Toggle Menu and Toolbar
set guioptions-=m
set guioptions-=T

" 对autonomy里查询出来的xml进行格式化,找出id
nmap tr <esc>ggvG$<vG$<vG$<vG$<vG$<<esc>:%s/^[^<].*//g<cr>
nmap tx <esc>:%s/^<[^a].*//g<cr><esc>:%s/^<autn:[^r].*//g<cr><esc>:g/^$/d<cr><esc>:%s/.*[^a-zA-Z_]id=\(\d\+\)[^\d].*/\1/g<cr><esc>gg
nmap tn <esc>:%s/\n/,/g<cr><esc>:%s/\(.*\),\+$/\1/g<cr>

" 关闭时保存,打开文件时加载
" au BufWinLeave * silent mkview
" au BufWinEnter * silent loadview

:inoremap <S-ENTER> <c-r>=SkipPair()<CR>
:inoremap <S-SPACE> <ESC>la
:inoremap <C-ENTER> <ESC>A;<CR>
:inoremap ( ()<ESC>i
:inoremap ) <c-r>=ClosePair(')')<CR>
:inoremap { <c-r>=ClsoeBrace()<CR>
:inoremap } <c-r>=ClosePair('}')<CR>
:inoremap [ []<ESC>i
:inoremap ] <c-r>=ClosePair(']')<CR>
:inoremap ;; <ESC>A;<CR>

function ClosePair(char)
   if getline('.')[col('.') - 1] == a:char
      return "\<Right>"
   else
      return a:char
   endif
endf
function Semicolon()
   "echo getline('.')[col('.')]
   if getline('.')[col('.')] == ')'
      return "<ESC>A;"
   elseif getline('.')[col('.')] == '}'
      return "\<ESC>A;"
   elseif getline('.')[col('.')] == ']'
      return "\<ESC>A;"
   else
      return ";"
   endif
endf
function SkipPair()
   if getline('.')[col('.') - 1] == ')'
      return "\<ESC>o"
   else
      normal j
      let curline = line('.')
      let nxtline = curline
      while curline == nxtline
         if getline('.')[col('.') - 1] == '}'
            normal j
            let nxtline = nxtline + 1
            let curline = line('.')
            continue
         else
            return "\<ESC>i"
         endif
        
      endwhile
      return "\<ESC>o"
   endif
endf
function ClsoeBrace()
   if getline('.')[col('.') - 2] == '='
      return "{}\<ESC>i"
   elseif getline('.')[col('.') - 3] == '='
      return "{}\<ESC>i"
   elseif getline('.')[col('.') - 1] == '{'
      return "{}\<ESC>i"
   elseif getline('.')[col('.') - 2] == '{'
      return "{}\<ESC>i"
   elseif getline('.')[col('.') - 2] == ','
      return "{}\<ESC>i"
   elseif getline('.')[col('.') - 3] == ','
      return "{}\<ESC>i"
   else
      return "{}\<ESC>i"
   endif
endf

  评论这张
 
阅读(159)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017