<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    網(wǎng)路冷眼@BlogJava

    熙熙攘攘一閑人 以冷靜的眼光觀察技術(shù)
    posts - 88, comments - 193, trackbacks - 0, articles - 28
      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理
    """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
    "          _
    "      __ | \
    "     /   | /
    "     \__ | \
    " by Amix - http://amix.dk/
    "
    " Maintainer: Amir Salihefendic <amix3k at gmail.com>
    " Version: 2.7
    " Last Change: 12/10/06 00:09:21
    "
    " Sections:
    " ----------------------
    " General
    " Colors and Fonts
    " Fileformats
    " VIM userinterface
    "    Statusline
    " Visual
    " Moving around and tabs
    " General Autocommands
    " Parenthesis/bracket expanding
    " General Abbrevs
    " Editing mappings etc.
    " Command-line config
    " Buffer realted
    " Files and backups
    " Folding
    " Text options
    "    Indent
    " Spell checking
    " Plugin configuration
    "    Yank ring
    "    File explorer
    "    Minibuffer
    "    Tag list (ctags) - not used
    "    LaTeX Suite things
    " Filetype generic
    "    Todo
    "    VIM
    "    HTML related
    "    Ruby & PHP section
    "    Python section
    "    Cheetah section
    "    Vim section
    "    Java section
    "    JavaScript section
    "    C mappings
    "    SML
    "    Scheme bindings
    " Snippets
    "    Python
    "    javaScript
    " Cope
    " MISC
    "
    "  Tip:
    "   If you find anything that you can't understand than do this:
    "   help keyword OR helpgrep keywords
    "  Example:
    "   Go into command-line mode and type helpgrep nocompatible, ie.
    "   :helpgrep nocompatible
    "   then press <leader>c to see the results, or :botright cw
    """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
    """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
    " 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 MySys() == "mac"
    set gfn=Bitstream\ Vera\ Sans\ Mono:h14
    set nomacatsui
    set termencoding=macroman
    elseif MySys() == "linux"
    set gfn=Monospace\ 11
    endif
    if has("gui_running")
    set guioptions-=T
    let psc_style='cool'
    colorscheme ps_color
    else
    set background=dark
    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
    if MySys() == "mac"
    nmap <D-j> <M-j>
    nmap <D-k> <M-k>
    vmap <D-j> <M-j>
    vmap <D-k> <M-k>
    endif
    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
    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
    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 (amix@amix.dk)'
    autocmd FileType java let b:jcommenter_file_author='Amir Salihefendic (amix@amix.dk)'
    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
       """""""""""""""""""""""""""""""
    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
    

    評論

    # re: 史上最強的 Vim 配置文件?-語法高亮顯示的 html 版  回復  更多評論   

    2007-09-01 15:02 by 天天基金網(wǎng)
    很難

    # re: 史上最強的 Vim 配置文件?-語法高亮顯示的 html 版  回復  更多評論   

    2009-06-24 17:22 by 隔葉黃鶯
    很強,收藏了。

    # re: 史上最強的 Vim 配置文件?-語法高亮顯示的 html 版  回復  更多評論   

    2012-05-16 08:57 by 路人甲
    給個配置后使用的截圖薩,英雄!
    主站蜘蛛池模板: 2020久久精品国产免费| 亚洲精品无码久久久久AV麻豆| 亚洲无码在线播放| 亚洲国产欧美国产综合一区| 午夜免费福利片观看| 亚洲人午夜射精精品日韩| 亚洲老熟女五十路老熟女bbw| 欧洲精品99毛片免费高清观看| 亚洲午夜精品久久久久久浪潮| 99亚偷拍自图区亚洲| 99re热精品视频国产免费| 红杏亚洲影院一区二区三区| 国产成人精品日本亚洲语音| 国产电影午夜成年免费视频 | 男人的天堂亚洲一区二区三区| 亚洲AV区无码字幕中文色| 成人a毛片免费视频观看| 性xxxx视频播放免费| 亚洲精品日韩专区silk| 精品在线免费观看| 亚洲日韩国产精品乱| 看全免费的一级毛片| 午夜高清免费在线观看| 亚洲人妖女同在线播放| 午夜免费1000部| 亚洲人成在线播放网站岛国| 三年片免费观看大全国语| 亚洲国产一区二区视频网站| 国产精品亚洲专区一区| 日韩免费观看视频| 亚洲人成网站18禁止| 欧美大尺寸SUV免费| www.亚洲成在线| 国产成人免费网站| 亚洲无圣光一区二区| 最近中文字幕国语免费完整| 久久精品亚洲视频| 久久伊人免费视频| 亚洲AV日韩AV天堂久久| 男人进去女人爽免费视频国产| 亚洲精品夜夜夜妓女网 |