该配置信息是我在网上找到的,自己做了稍微的小改动,佩服原著的强大!set tw=500
   """"""""""""""""""""""""""""""
   " Indent
   """"""""""""""""""""""""""""""
   "Auto indent
set ai
   "Smart indet
set si
   "C-style indeting
set cindent
   "Wrap lines
set wrap
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" Spell checking
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
map <leader>sn ]s
map <leader>sp [s
map <leader>sa zg
map <leader>s? z=
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" Plugin configuration
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
   """"""""""""""""""""""""""""""
   " Vim Grep
   """"""""""""""""""""""""""""""
let Grep_Skip_Dirs = 'RCS CVS SCCS .svn'
let Grep_Cygwin_Find = 1
   """"""""""""""""""""""""""""""
   " Yank Ring
   """"""""""""""""""""""""""""""
map <leader>y :YRShow<cr>
   """"""""""""""""""""""""""""""
   " File explorer
   """"""""""""""""""""""""""""""
   "Split vertically
let g:explVertical=1
   "Window size
let g:explWinSize=35
let g:explSplitLeft=1
let g:explSplitBelow=1
   "Hide some files
let g:explHideFiles='^\.,.*\.class$,.*\.swp$,.*\.pyc$,.*\.swo$,\.DS_Store$'
   "Hide the help thing..
let g:explDetailedHelp=0
   """"""""""""""""""""""""""""""
   " Minibuffer
   """"""""""""""""""""""""""""""
let g:miniBufExplModSelTarget = 1
let g:miniBufExplorerMoreThanOne = 2
let g:miniBufExplModSelTarget = 0
let g:miniBufExplUseSingleClick = 1
let g:miniBufExplMapWindowNavVim = 1
let g:miniBufExplVSplit = 25
let g:miniBufExplSplitBelow=1
let g:bufExplorerSortBy = "name"
autocmd BufRead,BufNew :call UMiniBufExplorer
   """"""""""""""""""""""""""""""
   " Tag list (ctags) - not used
   """"""""""""""""""""""""""""""
   "let Tlist_Ctags_Cmd = "/sw/bin/ctags-exuberant"
   "let Tlist_Sort_Type = "name"
   "let Tlist_Show_Menu = 1
   "map <leader>t :Tlist<cr>
   """"""""""""""""""""""""""""""
   " LaTeX Suite things
   """"""""""""""""""""""""""""""
set grepprg=grep\ -nH\ $*
let g:Tex_DefaultTargetFormat="pdf"
let g:Tex_ViewRule_pdf='xpdf'
   "Bindings
autocmd FileType tex map <silent><leader><space> :w!<cr> :silent! call Tex_RunLaTeX()<cr>
   "Auto complete some things ;)
autocmd FileType tex inoremap $i \indent
autocmd FileType tex inoremap $* \cdot
autocmd FileType tex inoremap $i \item
autocmd FileType tex inoremap $m \[<cr>\]<esc>O
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" Filetype generic
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
   """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
   " Todo
   """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
au BufNewFile,BufRead *.todo so ~/vim_local/syntax/amido.vim
   """"""""""""""""""""""""""""""
   " VIM
   """"""""""""""""""""""""""""""
autocmd FileType vim map <buffer> <leader><space> :w!<cr>:source %<cr>
   """"""""""""""""""""""""""""""
   " HTML related
   """"""""""""""""""""""""""""""
   " HTML entities - used by xml edit plugin
let xml_use_xhtml = 1
   "let xml_no_auto_nesting = 1
   "To HTML
let html_use_css = 1
let html_number_lines = 0
let use_xhtml = 1
   """"""""""""""""""""""""""""""
   " Ruby & PHP section
   """"""""""""""""""""""""""""""
autocmd FileType ruby map <buffer> <leader><space> :w!<cr>:!ruby %<cr>
autocmd FileType php compiler php
autocmd FileType php map <buffer> <leader><space> <leader>cd:w<cr>:make %<cr>
   """"""""""""""""""""""""""""""
   " Python section
   """"""""""""""""""""""""""""""
   "Run the current buffer in python - ie. on leader+space
au FileType python so ~/vim_local/syntax/python.vim
autocmd FileType python map <buffer> <leader><space> :w!<cr>:!python %<cr>
autocmd FileType python so ~/vim_local/plugin/python_fold.vim
   "Set some bindings up for 'compile' of python
autocmd FileType python set makeprg=python\ -c\ \"import\ py_compile,sys;\ sys.stderr=sys.stdout;\ py_compile.compile(r'%')\"
autocmd FileType python set efm=%C\ %.%#,%A\ \ File\ \"%f\"\\,\ line\ %l%.%#,%Z%[%^\ ]%\\@=%m
   "Python iMaps

解决方案 »

  1.   


    au FileType python set cindent
    au FileType python inoremap <buffer> $r return
    au FileType python inoremap <buffer> $s self
    au FileType python inoremap <buffer> $c ##<cr>#<space><cr>#<esc>kla
    au FileType python inoremap <buffer> $i import
    au FileType python inoremap <buffer> $p print
    au FileType python inoremap <buffer> $d """<cr>"""<esc>O
       "Run in the Python interpreter
    function! Python_Eval_VSplit() range
    let src = tempname()
    let dst = tempname()
    execute ": " . a:firstline . "," . a:lastline . "w " . src
    execute ":!python " . src . " > " . dst
    execute ":pedit! " . dst
    endfunction
    au FileType python vmap <F7> :call Python_Eval_VSplit()<cr>
       """"""""""""""""""""""""""""""
       " Cheetah section
       """""""""""""""""""""""""""""""
    autocmd FileType cheetah set ft=xml
    autocmd FileType cheetah set syntax=cheetah
       """""""""""""""""""""""""""""""
       " Vim section
       """""""""""""""""""""""""""""""
    autocmd FileType vim set nofen
       """""""""""""""""""""""""""""""
       " Java section
       """""""""""""""""""""""""""""""
    au FileType java inoremap <buffer> <C-t> System.out.println();<esc>hi
       "Java comments
    autocmd FileType java source ~/vim_local/macros/jcommenter.vim
    autocmd FileType java let b:jcommenter_class_author='Amir Salihefendic ([email protected])'
    autocmd FileType java let b:jcommenter_file_author='Amir Salihefendic ([email protected])'
    autocmd FileType java map <buffer> <F2> :call JCommentWriter()<cr>
       "Abbr'z
    autocmd FileType java inoremap <buffer> $pr private
    autocmd FileType java inoremap <buffer> $r return
    autocmd FileType java inoremap <buffer> $pu public
    autocmd FileType java inoremap <buffer> $i import
    autocmd FileType java inoremap <buffer> $b boolean
    autocmd FileType java inoremap <buffer> $v void
    autocmd FileType java inoremap <buffer> $s String
       "Folding
    function! JavaFold()
    setl foldmethod=syntax
    setl foldlevelstart=1
    syn region foldBraces start=/{/ end=/}/ transparent fold keepend extend
    syn match foldImports /\(\n\?import.\+;\n\)\+/ transparent fold
    function! FoldText()
    return substitute(getline(v:foldstart), '{.*', '{...}', '')
    endfunction
    setl foldtext=FoldText()
    endfunction
    au FileType java call JavaFold()
    au FileType java setl fen
    au BufEnter *.sablecc,*.scc set ft=sablecc
       """"""""""""""""""""""""""""""
       " JavaScript section
       """""""""""""""""""""""""""""""
    au FileType javascript so ~/vim_local/syntax/javascript.vim
    function! JavaScriptFold()
    setl foldmethod=syntax
    setl foldlevelstart=1
    syn region foldBraces start=/{/ end=/}/ transparent fold keepend extend
    function! FoldText()
    return substitute(getline(v:foldstart), '{.*', '{...}', '')
    endfunction
    setl foldtext=FoldText()
    endfunction
    au FileType javascript call JavaScriptFold()
    au FileType javascript setl fen
    au FileType javascript imap <c-t> console.log();<esc>hi
    au FileType javascript imap <c-a> alert();<esc>hi
    au FileType javascript setl nocindent
    au FileType javascript inoremap <buffer> $r return
    au FileType javascript inoremap <buffer> $d //<cr>//<cr>//<esc>ka<space>
    au FileType javascript inoremap <buffer> $c /**<cr><space><cr>**/<esc>ka
       """"""""""""""""""""""""""""""
       " HTML
       """""""""""""""""""""""""""""""
    au FileType html,cheetah set ft=xml
    au FileType html,cheetah set syntax=html
       """"""""""""""""""""""""""""""
       " C mappings
       """""""""""""""""""""""""""""""
    autocmd FileType c map <buffer> <leader><space> :w<cr>:!gcc %<cr>
       """""""""""""""""""""""""""""""
       " SML
       """""""""""""""""""""""""""""""
    autocmd FileType sml map <silent> <buffer> <leader><space> <leader>cd:w<cr>:!sml %<cr>
       """"""""""""""""""""""""""""""
       " Scheme bidings
       """"""""""""""""""""""""""""""
    autocmd BufNewFile,BufRead *.scm map <buffer> <leader><space> <leader>cd:w<cr>:!petite %<cr>
    autocmd BufNewFile,BufRead *.scm inoremap <buffer> <C-t> (pretty-print )<esc>i
    autocmd BufNewFile,BufRead *.scm vnoremap <C-t> <esc>`>a)<esc>`<i(pretty-print <esc>
       """"""""""""""""""""""""""""""
       " SVN section
       """""""""""""""""""""""""""""""
    map <F8> :new<CR>:read !svn diff<CR>:set syntax=diff buftype=nofile<CR>gg
    """"""""""""""""""""""""""""""
    " Snippets
    """""""""""""""""""""""""""""""
       "You can use <c-j> to goto the next <++> - it is pretty smart ;)
       """""""""""""""""""""""""""""""
       " Python
       """""""""""""""""""""""""""""""
    autocmd FileType python inorea <buffer> cfun <c-r>=IMAP_PutTextWithMovement("def <++>(<++>):\n<++>\nreturn <++>")<cr>
    autocmd FileType python inorea <buffer> cclass <c-r>=IMAP_PutTextWithMovement("class <++>:\n<++>")<cr>
    autocmd FileType python inorea <buffer> cfor <c-r>=IMAP_PutTextWithMovement("for <++> in <++>:\n<++>")<cr>
    autocmd FileType python inorea <buffer> cif <c-r>=IMAP_PutTextWithMovement("if <++>:\n<++>")<cr>
    autocmd FileType python inorea <buffer> cifelse <c-r>=IMAP_PutTextWithMovement("if <++>:\n<++>\nelse:\n<++>")<cr>
       """""""""""""""""""""""""""""""
       " JavaScript
       """""""""""""""""""""""""""""""
      

  2.   


    autocmd FileType cheetah,html,javascript inorea <buffer> cfun <c-r>=IMAP_PutTextWithMovement("function <++>(<++>) {\n<++>;\nreturn <++>;\n}")<cr>
    autocmd filetype cheetah,html,javascript inorea <buffer> cfor <c-r>=IMAP_PutTextWithMovement("for(<++>; <++>; <++>) {\n<++>;\n}")<cr>
    autocmd FileType cheetah,html,javascript inorea <buffer> cif <c-r>=IMAP_PutTextWithMovement("if(<++>) {\n<++>;\n}")<cr>
    autocmd FileType cheetah,html,javascript inorea <buffer> cifelse <c-r>=IMAP_PutTextWithMovement("if(<++>) {\n<++>;\n}\nelse {\n<++>;\n}")<cr>
       """""""""""""""""""""""""""""""
       " HTML
       """""""""""""""""""""""""""""""
    autocmd FileType cheetah,html inorea <buffer> cahref <c-r>=IMAP_PutTextWithMovement('<a href="<++>"><++></a>')<cr>
    autocmd FileType cheetah,html inorea <buffer> cbold <c-r>=IMAP_PutTextWithMovement('<b><++></b>')<cr>
    autocmd FileType cheetah,html inorea <buffer> cimg <c-r>=IMAP_PutTextWithMovement('<img src="<++>" alt="<++>" />')<cr>
    autocmd FileType cheetah,html inorea <buffer> cpara <c-r>=IMAP_PutTextWithMovement('<p><++></p>')<cr>
    autocmd FileType cheetah,html inorea <buffer> ctag <c-r>=IMAP_PutTextWithMovement('<<++>><++></<++>>')<cr>
    autocmd FileType cheetah,html inorea <buffer> ctag1 <c-r>=IMAP_PutTextWithMovement("<<++>><cr><++><cr></<++>>")<cr>
       """""""""""""""""""""""""""""""
       " Java
       """""""""""""""""""""""""""""""
    autocmd FileType java inorea <buffer> cfun <c-r>=IMAP_PutTextWithMovement("public<++> <++>(<++>) {\n<++>;\nreturn <++>;\n}")<cr>
    autocmd FileType java inorea <buffer> cfunpr <c-r>=IMAP_PutTextWithMovement("private<++> <++>(<++>) {\n<++>;\nreturn <++>;\n}")<cr>
    autocmd FileType java inorea <buffer> cfor <c-r>=IMAP_PutTextWithMovement("for(<++>; <++>; <++>) {\n<++>;\n}")<cr>
    autocmd FileType java inorea <buffer> cif <c-r>=IMAP_PutTextWithMovement("if(<++>) {\n<++>;\n}")<cr>
    autocmd FileType java inorea <buffer> cifelse <c-r>=IMAP_PutTextWithMovement("if(<++>) {\n<++>;\n}\nelse {\n<++>;\n}")<cr>
    autocmd FileType java inorea <buffer> cclass <c-r>=IMAP_PutTextWithMovement("class <++> <++> {\n<++>\n}")<cr>
    autocmd FileType java inorea <buffer> cmain <c-r>=IMAP_PutTextWithMovement("public static void main(String[] argv) {\n<++>\n}")<cr>
       "Presse c-q insted of space (or other key) to complete the snippet
    imap <C-q> <C-]>
    """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
    " Cope
    """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
    "For Cope
    map <silent> <leader><cr> :noh<cr>
    "Orginal for all
    map <leader>n :cn<cr>
    map <leader>p :cp<cr>
    map <leader>c :botright cw 10<cr>
    map <c-u> <c-l><c-j>:q<cr>:botright cw 10<cr>
    """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
    " MISC
    """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
    "Remove the Windows ^M
    noremap <Leader>m mmHmt:%s/<C-V><cr>//ge<cr>'tzt'm
    "Paste toggle - when pasting something in, don't indent.
    set pastetoggle=<F3>
    "Remove indenting on empty lines
    map <F2> :%s/\s*$//g<cr>:noh<cr>''
    "Super paste
    inoremap <C-v> <esc>:set paste<cr>mui<C-R>+<esc>mv'uV'v=:set nopaste<cr>
    "A function that inserts links & anchors on a TOhtml export.
    " Notice:
    " Syntax used is:
    " Link
    " Anchor
    function! SmartTOHtml()
    TOhtml
    try
    %s/&quot;\s\+\*&gt; \(.\+\)</" <a href="#\1" style="color: cyan">\1<\/a></g
    %s/&quot;\(-\|\s\)\+\*&gt; \(.\+\)</" \&nbsp;\&nbsp; <a href="#\2" style="color: cyan;">\2<\/a></g
    %s/&quot;\s\+=&gt; \(.\+\)</" <a name="\1" style="color: #fff">\1<\/a></g
    catch
    endtry
    exe ":write!"
    exe ":bd"
    endfunction
    au GUIEnter * simalt ~x
    colorscheme desert
    set cursorcolumnset guifont=Lucida_Console:h11:cANSI
    [/code]
      

  3.   

    这个放在最顶部"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
    " General
    """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
    "Get out of VI's compatible mode..
    set nocompatible
    "Sets how many lines of history VIM har to remember
    set history=400
    "Enable filetype plugin
    filetype plugin on
    filetype indent on
    "Set to auto read when a file is changed from the outside
    set autoread
    "Have the mouse enabled all the time:
    set mouse=a
    "Set mapleader
    let mapleader = ","
    let g:mapleader = ","
    "Fast saving
    nmap <leader>w :w!<cr>
    nmap <leader>f :find<cr>
    "Fast reloading of the .vimrc
    map <leader>s :source ~/vim_local/vimrc<cr>
    "Fast editing of .vimrc
    map <leader>e :e! ~/vim_local/vimrc<cr>
    "When .vimrc is edited, reload it
    autocmd! bufwritepost vimrc source ~/vim_local/vimrc
    """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
    " Colors and Fonts
    """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
    "Enable syntax hl
    syntax enable
    "Set font to Monaco 10pt
    if has("gui_running")
    set guioptions-=T
    let psc_style='cool'
    colorscheme evening
    else
    set background=light
    colorscheme zellner
    endif
    "Some nice mapping to switch syntax (useful if one mixes different languages in one file)
    map <leader>1 :set syntax=cheetah<cr>
    map <leader>2 :set syntax=xhtml<cr>
    map <leader>3 :set syntax=python<cr>
    map <leader>4 :set ft=javascript<cr>
    map <leader>$ :syntax sync fromstart<cr>
    autocmd BufEnter * :syntax sync fromstart
    "Highlight current
    if has("gui_running")
    set cursorline
    hi cursorline guibg=#333333
    hi CursorColumn guibg=#333333
    endif
    "Omni menu colors
    hi Pmenu guibg=#333333
    hi PmenuSel guibg=#555555 guifg=#ffffff
    """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
    " Fileformats
    """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
    "Favorite filetypes
    set ffs=unix,dos,mac
    nmap <leader>fd :se ff=dos<cr>
    nmap <leader>fu :se ff=unix<cr>
    """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
    " VIM userinterface
    """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
    "Set 7 lines to the curors - when moving vertical..
    set so=7
    "Turn on WiLd menu
    set wildmenu
    "Always show current position
    set ruler
    "The commandbar is 2 high
    set cmdheight=2
    "Show line number
    set nu
    "Do not redraw, when running macros.. lazyredraw
    set lz
    "Change buffer - without saving
    set hid
    "Set backspace
    set backspace=eol,start,indent
    "Bbackspace and cursor keys wrap to
    set whichwrap+=<,>,h,l
    "Ignore case when searching
    set ignorecase
    set incsearch
    "Set magic on
    set magic
    "No sound on errors.
    set noerrorbells
    set novisualbell
    set t_vb=
    "show matching bracets
    set showmatch
    "How many tenths of a second to blink
    set mat=2
    "Highlight search things
    set hlsearch
      """"""""""""""""""""""""""""""
      " Statusline
      """"""""""""""""""""""""""""""
      "Always hide the statusline
    set laststatus=2
    function! CurDir()
    let curdir = substitute(getcwd(), '/Users/amir/', "~/", "g")
    return curdir
    endfunction
      "Format the statusline
    set statusline=\ %F%m%r%h\ %w\ \ CWD:\ %r%{CurDir()}%h\ \ \ Line:\ %l/%L:%c
    """"""""""""""""""""""""""""""
    " Visual
    """"""""""""""""""""""""""""""
    " From an idea by Michael Naumann
    function! VisualSearch(direction) range
    let l:saved_reg = @"
    execute "normal! vgvy"
    let l:pattern = escape(@", '\\/.*$^~[]')
    let l:pattern = substitute(l:pattern, "\n$", "", "")
    if a:direction == 'b'
    execute "normal ?" . l:pattern . "^M"
    else
    execute "normal /" . l:pattern . "^M"
    endif
    let @/ = l:pattern
    let @" = l:saved_reg
    endfunction
    "Basically you press * or # to search for the current selection !! Really useful
    vnoremap <silent> * :call VisualSearch('f')<CR>
    vnoremap <silent> # :call VisualSearch('b')<CR>
    """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
    " Moving around and tabs
    """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
    "Map space to / and c-space to ?
    map <space> /
    map <c-space> ?
    "Smart way to move btw. windows
    map <C-j> <C-W>j
    map <C-k> <C-W>k
    map <C-h> <C-W>h
    map <C-l> <C-W>l
    "Actually, the tab does not switch buffers, but my arrows
    "Bclose function ca be found in "Buffer related" section
    map <leader>bd :Bclose<cr>
    map <down> <leader>bd
    "Use the arrows to something usefull
    map <right> :bn<cr>
    map <left> :bp<cr>
    "Tab configuration
    map <leader>tn :tabnew %<cr>
    map <leader>te :tabedit
    map <leader>tc :tabclose<cr>
    map <leader>tm :tabmove
    try
    set switchbuf=usetab
    set stal=2
    catch
    endtry
    "Moving fast to front, back and 2 sides ;)
    imap <m-$> <esc>$a
    imap <m-0> <esc>0i
    imap <D-$> <esc>$a
    imap <D-0> <esc>0i
    """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
    " General Autocommands
    """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
    "Switch to current dir
    map <leader>cd :cd %:p:h<cr>
    """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
    " Parenthesis/bracket expanding
    """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
    vnoremap $1 <esc>`>a)<esc>`<i(<esc>
    ")
    vnoremap $2 <esc>`>a]<esc>`<i[<esc>
    vnoremap $3 <esc>`>a}<esc>`<i{<esc>
    vnoremap $$ <esc>`>a"<esc>`<i"<esc>
    vnoremap $q <esc>`>a'<esc>`<i'<esc>
    vnoremap $w <esc>`>a"<esc>`<i"<esc>
    "Map auto complete of (, ", ', [
    inoremap $1 ()<esc>:let leavechar=")"<cr>i
    inoremap $2 []<esc>:let leavechar="]"<cr>i
    inoremap $4 {<esc>o}<esc>:let leavechar="}"<cr>O
    inoremap $3 {}<esc>:let leavechar="}"<cr>i
    inoremap $q ''<esc>:let leavechar="'"<cr>i
    inoremap $w ""<esc>:let leavechar='"'<cr>i
    au BufNewFile,BufRead *.\(vim\)\@! inoremap " ""<esc>:let leavechar='"'<cr>i
    au BufNewFile,BufRead *.\(txt\)\@! inoremap ' ''<esc>:let leavechar="'"<cr>i
    imap <m-l> <esc>:exec "normal f" . leavechar<cr>a
    imap <d-l> <esc>:exec "normal f" . leavechar<cr>a
    """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
    " General Abbrevs
    """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
    "My information
    iab xdate <c-r>=strftime("%d/%m/%y %H:%M:%S")<cr>
    iab xname Amir Salihefendic
    """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
    " Editing mappings etc.
    """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
    "Remap VIM 0
    map 0 ^
    "Move a line of text using control
    nmap <M-j> mz:m+<cr>`z
    nmap <M-k> mz:m-2<cr>`z
    vmap <M-j> :m'>+<cr>`<my`>mzgv`yo`z
    vmap <M-k> :m'<-2<cr>`>my`<mzgv`yo`z
    func! DeleteTrailingWS()
    exe "normal mz"
    %s/\s\+$//ge
    exe "normal `z"
    endfunc
    autocmd BufWrite *.py :call DeleteTrailingWS()
    set completeopt=menu
    """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
    " Command-line config
    """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
    func! Cwd()
    let cwd = getcwd()
    return "e " . cwd 
    endfunc
    func! DeleteTillSlash()
    let g:cmd = getcmdline()
    if MySys() == "linux" || MySys() == "mac"
    let g:cmd_edited = substitute(g:cmd, "\\(.*\[/\]\\).*", "\\1", "")
    else
    let g:cmd_edited = substitute(g:cmd, "\\(.*\[\\\\]\\).*", "\\1", "")
    endif
    if g:cmd == g:cmd_edited
    if MySys() == "linux" || MySys() == "mac"
    let g:cmd_edited = substitute(g:cmd, "\\(.*\[/\]\\).*/", "\\1", "")
    else
    let g:cmd_edited = substitute(g:cmd, "\\(.*\[\\\\\]\\).*\[\\\\\]", "\\1", "")
    endif
    endif
    return g:cmd_edited
    endfunc
    func! CurrentFileDir(cmd)
    return a:cmd . " " . expand("%:p:h") . "/"
    endfunc
    "Smart mappings on the command line
    cno $h e ~/
    cno $d e ~/Desktop/
    cno $j e ./
    cno $q <C-\>eDeleteTillSlash()<cr>
    cno $c e <C-\>eCurrentFileDir("e")<cr>
    cno $tc <C-\>eCurrentFileDir("tabnew")<cr>
    cno $th tabnew ~/
    cno $td tabnew ~/Desktop/
    "Bash like
    cnoremap <C-A>    <Home>
    cnoremap <C-E>    <End>
    cnoremap <C-K>    <C-U>
    """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
    " Buffer realted
    """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
    "Fast open a buffer by search for a name
    map <c-q> :sb
    "Open a dummy buffer for paste
    map <leader>q :e ~/buffer<cr>
    "Restore cursor to file position in previous editing session
    set viminfo='10,\"100,:20,%,n~/.viminfo
    au BufReadPost * if line("'\"") > 0|if line("'\"") <= line("$")|exe("norm '\"")|else|exe "norm $"|endif|endif
    " Buffer - reverse everything ... :)
    map <F9> ggVGg?
    " Don't close window, when deleting a buffer
    command! Bclose call <SID>BufcloseCloseIt()
    function! <SID>BufcloseCloseIt()
    let l:currentBufNum = bufnr("%")
    let l:alternateBufNum = bufnr("#")
    if buflisted(l:alternateBufNum)
    buffer #
    else
    bnext
    endif
    if bufnr("%") == l:currentBufNum
    new
    endif
    if buflisted(l:currentBufNum)
    execute("bdelete! ".l:currentBufNum)
    endif
    endfunction
    """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
    " Files and backups
    """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
    "Turn backup off
    set nobackup
    set nowb
    set noswapfile
    """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
    " Folding
    """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
    "Enable folding, I find it very useful
    set nofen
    set fdl=0
    """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
    " Text options
    """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
    set expandtab
    set shiftwidth=2
    map <leader>t2 :set shiftwidth=2<cr>
    map <leader>t4 :set shiftwidth=4<cr>
    au FileType html,python,vim,javascript setl shiftwidth=2
    au FileType html,python,vim,javascript setl tabstop=2
    au FileType java setl shiftwidth=4
    au FileType java setl tabstop=4
    set smarttab
    set lbr
      

  4.   

    vim的配置在我的使用过程中我觉得几乎不影响加载的速度,不像emacs,emacs的配置越多加载的速度就越来越慢,你可以试一下!
      

  5.   

    用这个干嘛呢 直接Eclipse不久完了 专业点的用NetBeans