转自:http://blog.csdn.net/luoweifeng1989/archive/2010/12/11/6069980.aspx
1. 安装 VIM
$sudo apt-get install vim-gnome
2. 安装 Ctags
$sudo apt-get install ctags
3. 安装 TagList
$sudo apt-get install vim-scripts
$sudo apt-get install vim-addon-manager
$sudo vim-addons install taglist
在 .vimrc 里加:
view plain copy to clipboard print ?
- autocmd FileType python set omnifunc=pythoncomplete#Complete
- autocmd FileType javascrīpt set omnifunc=javascrīptcomplete#CompleteJS
- autocmd FileType html set omnifunc=htmlcomplete#CompleteTags
- autocmd FileType css set omnifunc=csscomplete#CompleteCSS
- autocmd FileType xml set omnifunc=xmlcomplete#CompleteTags
- autocmd FileType php set omnifunc=phpcomplete#CompletePHP
- autocmd FileType c set omnifunc=ccomplete#Complete
autocmd FileType python set omnifunc=pythoncomplete#Complete autocmd FileType javascrīpt set omnifunc=javascrīptcomplete#CompleteJS autocmd FileType html set omnifunc=htmlcomplete#CompleteTags autocmd FileType css set omnifunc=csscomplete#CompleteCSS autocmd FileType xml set omnifunc=xmlcomplete#CompleteTags autocmd FileType php set omnifunc=phpcomplete#CompletePHP autocmd FileType c set omnifunc=ccomplete#Complete
4. 安装omnicppcomplete ( 疯狂补全 )
http://www.vim.org/scripts/download_script.php?src_id=7722
将解压后的文件放入:$HOME/vimfiles
在.vimrc 加入
view plain copy to clipboard print ?
- set nocp
- filetype plugin on
set nocp filetype plugin on
最后 . 留个配置文件。这样使用 F3 即可打开和关闭 Taglist , C+N 自动补全,如果 C+w+w 在 TagList 窗口和编辑窗口切换,想更新 TagList 里边的 Tag ,可以 :w ,然后, C+w+w 切换到 TagList 窗口,使用 u 更新。 OK
view plain copy to clipboard print ?
- "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "
- " by Amix - http:
- "
- " Maintainer: redguardtoo <[email protected]>, Amir Salihefendic <amix3k at gmail.com>
- " Version: 2.1
- " Last Change: 21/03/08 23:00:01
- " fix some performance issue and syntax bugs
- " Last Change: 12/08/06 13:39:28
- " Fixed (win32 compatible) by: redguardtoo <chb_sh at gmail.com>
- " This vimrc file is tested on platforms like win32,linux, cygwin,mingw
- " and vim7.0, vim6.4, vim6.1, vim5.8.9 by redguardtoo
- "
- "
- " Tip:
- " If you find anything that you can't understand than do this :
- " help keyword OR helpgrep keyword
- " Example:
- " Go into command-line mode and type helpgrep nocompatible, ie.
- " :helpgrep nocompatible
- " then press <leader>c to see the results, or :botright cw
- "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "
-
- "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "
- " User configuration
- "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "
- " turn off nice effect on status bar title
- let performance_mode=1
- let use_plugins_i_donot_use=0
- "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "
- " => General
- "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "
- "Get out of VI's compatible mode..
- set nocompatible
- function! MySys()
- if has( "win32" )
- return "win32"
- elseif has("unix" )
- return "unix"
- else
- return "mac"
- endif
- endfunction
- "Set shell to be bash
- if MySys() == "unix" || MySys() == "mac"
- set shell=bash
- else
- "I have to run win32 python without cygwin
- "set shell=E:cygwininsh
- endif
- "Sets how many lines of history VIM har to remember
- set history=400
- "Enable filetype plugin
- filetype on
- if has( "eval" ) && v:version>=600
- filetype plugin on
- filetype indent on
- endif
- "Set to auto read when a file is changed from the outside
- if exists( "&autoread" )
- set autoread
- endif
- "Have the mouse enabled all the time:
- if exists( "&mouse" )
- set mouse=a
- endif
- "Set mapleader
- let mapleader = ","
- let g:mapleader = ","
- "Fast saving
- nmap <leader>x :xa!<cr>
- nmap <leader>w :w!<cr>
-
- "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "
- " => Colors and Font
- "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "
- "Enable syntax hl
- if MySys()== "unix"
- if v:version<600
- if filereadable(expand( "$VIM/syntax/syntax.vim" ))
- syntax on
- endif
- else
- syntax on
- endif
- else
- syntax on
- endif
- "internationalization
- "I only work in Win2k Chinese version
- if has( "multi_byte" )
- "set bomb
- set fileencodings=ucs-bom,utf-8,cp936,big5,euc-jp,euc-kr,latin1
- " CJK environment detection and corresponding setting
- if v:lang =~ "^zh_CN"
- " Use cp936 to support GBK, euc-cn == gb2312
- set encoding=cp936
- set termencoding=cp936
- set fileencoding=cp936
- elseif v:lang =~ "^zh_TW"
- " cp950, big5 or euc-tw
- " Are they equal to each other?
- set encoding=big5
- set termencoding=big5
- set fileencoding=big5
- elseif v:lang =~ "^ko"
- " Copied from someone's dotfile, untested
- set encoding=euc-kr
- set termencoding=euc-kr
- set fileencoding=euc-kr
- elseif v:lang =~ "^ja_JP"
- " Copied from someone's dotfile, untested
- set encoding=euc-jp
- set termencoding=euc-jp
- set fileencoding=euc-jp
- endif
- " Detect UTF-8 locale, and replace CJK setting if needed
- if v:lang =~ "utf8$" || v:lang =~ "UTF-8$"
- set encoding=utf-8
- set termencoding=utf-8
- set fileencoding=utf-8
- endif
- endif
- "if you use vim in tty,
- "'uxterm -cjk' or putty with option 'Treat CJK ambiguous characters as wide' on
- if exists( "&ambiwidth" )
- set ambiwidth= double
- endif
- if has( "gui_running" )
- set guioptions-=m
- set guioptions-=T
- set guioptions-=l
- set guioptions-=L
- set guioptions-=r
- set guioptions-=R
- if MySys()== "win32"
- "start gvim maximized
- if has( "autocmd" )
- au GUIEnter * simalt ~x
- endif
- endif
- "let psc_style='cool'
- if v:version > 601
- "colorscheme ps_color
- "colorscheme default
- colorscheme elflord
- endif
- else
- if v:version > 601
- "set background=dark
- "colorscheme default
- colorscheme elflord
- endif
- 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>
- "Highlight current
- if has( "gui_running" )
- if exists( "&cursorline" )
- set cursorline
- endif
- endif
- "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "
- " => Fileformat
- "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "
- "Favorite filetype
- 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 bracet
- set showmatch
- "How many tenths of a second to blink
- set mat=8
- "Highlight search thing
- set hlsearch
- "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""
- " => Statusline
- "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""
- "Format the statusline
- " Nice statusbar
- if performance_mode
- else
- set laststatus=2
- set statusline=
- set statusline+=%2*%-3.3n%0*/ " buffer number
- set statusline+=%f/ " file name
- set statusline+=%h%1*%m%r%w%0* " flags
- set statusline+=[
- if v:version >= 600
- set statusline+=%{strlen(&ft)?&ft: 'none' }, " filetype
- set statusline+=%{&encoding}, " encoding
- endif
- set statusline+=%{&fileformat}] " file format
- if filereadable(expand( "$VIM/vimfiles/plugin/vimbuddy.vim" ))
- set statusline+=/ %{VimBuddy()} " vim buddy
- endif
- set statusline+=%= " right align
- set statusline+=%2*0x%-8B/ " current char
- set statusline+=%-14.(%l,%c%V%)/ %<%P " offset
- " special statusbar for special windows
- if has( "autocmd" )
- au FileType qf
- / if &buftype == "quickfix" |
- / setlocal statusline=%2*%-3.3n%0* |
- / setlocal statusline+=/ /[Compiler/ Messages/] |
- / setlocal statusline+=%=%2*/ %<%P |
- / endif
- fun! FixMiniBufExplorerTitle()
- if "-MiniBufExplorer-" == bufname( "%" )
- setlocal statusline=%2*%-3.3n%0*
- setlocal statusline+=/[Buffers/]
- setlocal statusline+=%=%2*/ %<%P
- endif
- endfun
- if v:version>=600
- au BufWinEnter *
- / let oldwinnr=winnr() |
- / windo call FixMiniBufExplorerTitle() |
- / exec oldwinnr . " wincmd w"
- endif
- endif
- " Nice window title
- if has( 'title' ) && (has( 'gui_running' ) || &title)
- set titlestring=
- set titlestring+=%f/ " file name
- set titlestring+=%h%m%r%w " flags
- set titlestring+=/ -/ %{v:progname} " program name
- endif
- endif
-
- "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "
- " => Moving around and tab
- "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "
- "Map space to / and c-space to ?
- map <space> /
- "Smart way to move btw. window
- map <C-j> <C-W>j
- map <C-k> <C-W>k
- map <C-h> <C-W>h
- map <C-l> <C-W>l
-
- "Tab configuration
- map <leader>tn :tabnew %<cr>
- map <leader>tc :tabclose<cr>
- map <leader>tm :tabmove
- if v:version>=700
- set switchbuf=usetab
- endif
- if exists( "&showtabline" )
- set stal=2
- endif
- "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 Autocommand
- "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "
- "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 (, " , ', [
- "http:
- "
- "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "
- " => General Abbrev
- "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "
- "Comment for C like language
- if has( "autocmd" )
- au BufNewFile,BufRead *.js,*.htc,*.c,*.tmpl,*.css ino $c <esc>O
- endif
- "My information
- ia 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
-
- "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "
- " => Command-line config
- "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "
- func! Cwd()
- let cwd = getcwd()
- return "e " . cwd
- endfunc
- func! DeleteTillSlash()
- let g:cmd = getcmdline()
- if MySys() == "unix" || MySys() == "mac"
- let g:cmd_edited = substitute(g:cmd, "(.*[/]).*" , "" , "" )
- else
- let g:cmd_edited = substitute(g:cmd, "(.*[/]).*" , "" , "" )
- endif
- if g:cmd == g:cmd_edited
- if MySys() == "unix" || MySys() == "mac"
- let g:cmd_edited = substitute(g:cmd, "(.*[/]).*/" , "" , "" )
- else
- let g:cmd_edited = substitute(g:cmd, "(.*[/]).*[/]" , "" , "" )
- endif
- endif
- return g:cmd_edited
- endfunc
- func! CurrentFileDir(cmd)
- return a:cmd . " " . expand( "%:p:h" ) . "/"
- endfunc
- "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
- cno <C-A> <Home>
- cno <C-E> <End>
- cno <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
- " Buffer - reverse everything ... :)
- map <F9> ggVGg?
- "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "
- " => Files and backup
- "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "
- "Turn backup off
- set nobackup
- set nowb
- "set noswapfile
- "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "
- " => Folding
- "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "
- "Enable folding, I find it very useful
- if exists( "&foldenable" )
- set fen
- endif
- if exists( "&foldlevel" )
- set fdl=0
- endif
- "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "
- " => Text option
- "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "
- " python script
- "set expandtab
- set shiftwidth=2
- set softtabstop=2
- set tabstop=2
- set backspace=2
- set smarttab
- set lbr
- "set tw=500
- "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""
- " => Indent
- "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""
- "Auto indent
- set ai
- "Smart indet
- set si
- "C-style indenting
- if has( "cindent" )
- set cindent
- endif
- "Wrap line
- set wrap
-
- "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "
- " => Spell checking
- "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "
- map <leader>sn ]
- map <leader>sp [
- map <leader>sa zg
- map <leader>s? z=
-
- "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "
- " => Plugin configuration
- "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "
- "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""
- " => Yank Ring
- "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""
- if use_plugins_i_donot_use
- 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 file
- let g:explHideFiles='^.,.*.class $,.*.swp$,.*.pyc$,.*.swo$,.DS_Store</span></p>
- <p class = "MsoNormal" style= "" id= "" ><span lang= "EN-US" style= "" ><o:p style= "" > </o:p></span></p><p></p>
- "Hide the help thing..
- let g:explDetailedHelp=0
-
- "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""
- " => Minibuffer
- "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""
- let g:miniBufExplModSelTarget = 1
- let g:miniBufExplorerMoreThanOne = 0
- let g:miniBufExplModSelTarget = 0
- let g:miniBufExplUseSingleClick = 1
- let g:miniBufExplMapWindowNavVim = 1
- let g:miniBufExplVSplit = 25
- let g:miniBufExplSplitBelow=1
- "WindowZ
- map <c-w><c-t> :WMToggle<cr>
- let g:bufExplorerSortBy = "name"
- "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""
- " => LaTeX Suite thing
- "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""
- "set grepprg=grep -r -s -n
- let g:Tex_DefaultTargetFormat="pdf"
- let g:Tex_ViewRule_pdf='xpdf'
- if has( "autocmd" )
- "Binding
- au BufRead *.tex map <silent><leader><space> :w!<cr> :silent! call Tex_RunLaTeX()<cr>
- "Auto complete some things ;)
- au BufRead *.tex ino <buffer> $i indent
- au BufRead *.tex ino <buffer> $* cdot
- au BufRead *.tex ino <buffer> $i item
- au BufRead *.tex ino <buffer> $m [<cr>]<esc>O
- endif
- endif
- "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""
- " => 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>
- map <F3> :Tlist<cr>
-
- "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "
- " => Filetype generic
- "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "
- "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "
- " => Todo
- "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "
- "au BufNewFile,BufRead *.todo so ~/vim_local/syntax/amido.vim
- "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""
- " => VIM
- "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""
- if has( "autocmd" ) && v:version>600
- au BufRead,BufNew *.vim map <buffer> <leader><space> :w!<cr>:source %<cr>
- endif
- "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""
- " => 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 = 0
- let html_number_lines = 0
- let use_xhtml = 1
-
- "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""
- " => Ruby & PHP section
- "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""
- "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""
- " => Python section
- "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""
- "" Run the current buffer in python - ie. on leader+space
- "au BufNewFile,BufRead *.py so ~/vim_local/syntax/python.vim
- "au BufNewFile,BufRead *.py map <buffer> <leader><space> :w!<cr>:!python %<cr>
- "au BufNewFile,BufRead *.py so ~/vim_local/plugin/python_fold.vim
- "" Set some bindings up for 'compile' of python
- "au BufNewFile,BufRead *.py set makeprg=python -c " import py_compile,sys; sys.stderr=sys.stdout; py_compile.compile(r '%' )"
- "au BufNewFile,BufRead *.py set efm=%C %.%#,%A File " %f", line %l%.%#,%Z%[%^ ]%@=%m
- "au BufNewFile,BufRead *.py nmap <buffer> <F8> :w!<cr>:make<cr>
- "" Python iMap
- "au BufNewFile,BufRead *.py set cindent
- "au BufNewFile,BufRead *.py ino <buffer> $r return
- "au BufNewFile,BufRead *.py ino <buffer> $s self
- "au BufNewFile,BufRead *.py ino <buffer> $c ##<cr>#<space><cr>#<esc>kla
- "au BufNewFile,BufRead *.py ino <buffer> $i import
- "au BufNewFile,BufRead *.py ino <buffer> $p print
- "au BufNewFile,BufRead *.py ino <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 BufNewFile,BufRead *.py vmap <F7> :call Python_Eval_VSplit()<cr>
-
- "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""
- " => Cheetah section
- "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "
- "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "
- " => Java section
- "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "
- "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""
- " => JavaScript section
- "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "
- "au BufNewFile,BufRead *.js so ~/vim_local/syntax/javascript.vim
- "function! JavaScriptFold()
- " set foldmethod=marker
- " set foldmarker={,}
- " set foldtext=getline(v:foldstart)
- "endfunction
- "au BufNewFile,BufRead *.js call JavaScriptFold()
- "au BufNewFile,BufRead *.js imap <c-t> console.log();<esc>hi
- "au BufNewFile,BufRead *.js imap <c-a> alert();<esc>hi
- "au BufNewFile,BufRead *.js set nocindent
- "au BufNewFile,BufRead *.js ino <buffer> $r return
- "au BufNewFile,BufRead *.js ino <buffer> $d
- "au BufNewFile,BufRead *.js ino <buffer> $c <esc>ka
-
- if has( "eval" ) && has( "autocmd" )
- "vim 5.8.9 on mingw donot know what is <SID>, so I avoid to use function
- "c/cpp
- fun! Abbrev_cpp()
- ia <buffer> cci const_iterator
- ia <buffer> ccl cla
- ia <buffer> cco const
- ia <buffer> cdb bug
- ia <buffer> cde throw
- ia <buffer> cdf /** file<CR><CR>/<Up>
- ia <buffer> cdg ingroup
- ia <buffer> cdn /** Namespace <namespace <CR><CR>/<Up>
- ia <buffer> cdp param
- ia <buffer> cdt test
- ia <buffer> cdx /**<CR><CR>/<Up>
- ia <buffer> cit iterator
- ia <buffer> cns Namespace ianamespace
- ia <buffer> cpr protected
- ia <buffer> cpu public
- ia <buffer> cpv private
- ia <buffer> csl std::list
- ia <buffer> csm std::map
- ia <buffer> css std::string
- ia <buffer> csv std::vector
- ia <buffer> cty typedef
- ia <buffer> cun using Namespace ianamespace
- ia <buffer> cvi virtual
- ia <buffer> #i #include
- ia <buffer> #d #define
- endfunction
- fun! Abbrev_java()
- ia <buffer> #i import
- ia <buffer> #p System.out .println
- ia <buffer> #m public static void main(String[] args)
- endfunction
- fun! Abbrev_python()
- ia <buffer> #i import
- ia <buffer> #p print
- ia <buffer> #m if __name__== "__main__" :
- endfunction
- fun! Abbrev_aspvbs()
- ia <buffer> #r Response.Write
- ia <buffer> #q Request.QueryString
- ia <buffer> #f Request.Form
- endfunction
- fun! Abbrev_js()
- ia <buffer> #a if (!0){ throw Error(callStackInfo());}
- endfunction
- augroup abbreviation
- au!
- au FileType javascript :call Abbrev_js()
- au FileType cpp,c :call Abbrev_cpp()
- au FileType java :call Abbrev_java()
- au FileType python :call Abbrev_python()
- au FileType aspvbs :call Abbrev_aspvbs()
- augroup END
- endif
- "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "
- " => MISC
- "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "
- "Remove the Windows ^M
- noremap <leader>m :%s//r
- "Paste toggle - when pasting something in , don't indent.
- "set pastetoggle=<F3>
- "Remove indenting on empty line
- map <F2> :%s/s*$
- "Super paste
- ino <C-v> <esc>:set paste<cr>mui<C-R>+<esc>mv 'uV' v=: set nopaste<cr>
- "clipboard with xclip
- if MySys() == "unix"
- vmap <F6> :!xclip -sel c<CR>
- map <F7> :-1r!xclip -o -seln c<CR>'z
- endif
-
- "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "
- autocmd FileType python set omnifunc=pythoncomplete#Complete
- autocmd FileType javascript set omnifunc=javascriptcomplete#CompleteJS
- autocmd FileType html set omnifunc=htmlcomplete#CompleteTags
- autocmd FileType css set omnifunc=csscomplete#CompleteCSS
- autocmd FileType xml set omnifunc=xmlcomplete#CompleteTags
- autocmd FileType php set omnifunc=phpcomplete#CompletePHP
- autocmd FileType c set omnifunc=ccomplete#Complete
-
- set nocp
- filetype plugin on
- let Tlist_Exit_OnlyWindow=1