5 "set nocompatible "because this is defined in vimrc_example.vim
7 "source $VIMRUNTIME/vimrc_example.vim
8 set fileformats=unix,dos
9 set fencs=ucs-bom,utf-8,gb2312,gbk,gb18030,latin1
10 "set fencs=ucs-bom,chinese,taiwan,japan,korea,utf-8,latin1
14 if has("gui_running") "for gdk+ vim seting
18 "source $VIMRUNTIME/delmenu.vim
19 "source $VIMRUNTIME/menu.vim
20 "set imactivatekey=C-space
23 "inoremap <esc> <esc>:set iminsert=2<cr>
24 "noremap i :set iminsert=2<cr>i
25 "noremap a :set iminsert=2<cr>a
29 " CTRL-A is Select all
30 noremap <C-A> gggH<C-O>G
31 inoremap <C-A> <C-O>gg<C-O>gH<C-O>G
32 cnoremap <C-A> <C-C>gggH<C-O>G
33 onoremap <C-A> <C-C>gggH<C-O>G
34 snoremap <C-A> <C-C>gggH<C-O>G
35 xnoremap <C-A> <C-C>ggVG
37 " CTRL-V and SHIFT-Insert are Paste
42 cmap <S-Insert> <C-R>*
43 else "for bash vim setting
48 "let $VIMFILY='~/.vim'
49 let $VIMFILY=expand("$HOME") . '/.vim'
51 "source ~/vimfiles/filetype.vim
52 else "for win32 setting
54 "source $VIMRUNTIME/mswin.vim
55 "set guioptions+=a "auto copy to
57 set grepprg=grep\ -n\ $*\ /dev/null
58 set grepformat=%f:%l:%m,%f:%l%m,%f\ %l%m
59 cabbrev sort /bin/sort
63 let $VIMFILY=expand("$HOME") . '/vimfiles'
66 let $ADDED=$VIMFILY . '/added_plugin'
68 source $ADDED/my_vimrc_example.vim
69 if !has("unix") && has("gui_running")
70 source $ADDED/my_mswin.vim
73 source $ADDED/publib.vim
76 let $ADDED2=$VIM . '/vimfiles/added_plugin2'
78 "for new tab setting and new align setting
80 map <leader>la <esc>:call SecondLoadAlign()<cr>
81 map <leader>lt <esc>:call SecondTriggerChangeTab()<cr>
83 " remove space and enter charactor
84 map <leader>rs <esc>::%s= *$==<cr>
85 map <leader>rd <esc>:%s/\r//g<cr>
89 """"""""""""""""""""""""""""""""""""""""""""""""""""""
91 """""""""""""""""""""""""""""""""""""""""""""""""""""
93 set hh=999 "set the help windows defaul height to max
94 set linebreak "let english word break whole word
98 set viminfo='100,<1500,s500,:500,/300
102 set hid "let you can change buffer without save
104 "turn off ignorecase in a typed search if an uppercase char exists.
106 call CodeMode() "most time are coding:)
110 set guioptions-=T "hide the toolbar
111 set guioptions-=m "hide the menubar
112 "set guioptions+=c "use text dialog
116 "set rulerformat=%50(\ %n[%{&ff}]%r%m%y%=%-14.(%l,%c%V%)\ %p%%%)
117 "set statusline=%<%f %n[%{&ff}]%r%m%y%=%-14.(%l,%c%V%)\ %p%%
118 hi User1 term=standout,bold cterm=reverse ctermbg=red gui=bold guifg=red guibg=Grey
119 hi User2 term=standout,bold cterm=reverse gui=bold guibg=Grey
122 """""""""""""""""""""""""""""""""""""""""""""""""""""""
123 "function for return the file format and file encoding
124 "from http://msghost.iyublog.com/?cat=477
125 function! FunFileEncoding()
126 return &ff . ":" . &fenc
128 """"""""""""""""""""""""""""""""""""""""""""""""""
130 set statusline=%2*%=\ \ \ %50(%f\ @%n[%{FunFileEncoding()}]%r%m%y#%{changenr()}%=\ \ \ %-14.(%l,%c\(%v\)%)\ %p%%%)%*
133 set listchars+=tab:>-
134 set wildmenu "ÓÃtabÔÚÃüÁîÐÐÌáʾ
135 "set clipboard+=unnamed "ÊÇy ºÍ p ͬϵͳ¼ôÇаåÏàÁ¬
136 set clipboard+=autoselect
137 "set splitbelow "splitting a window below the current one
138 """""""""""""""""""""""""""""""""""""""""""""""""""""
140 """""""""""""""""""""""""""""""""""""""""""""""""""""
143 set backupdir=/var/backups/vi
145 if($MYGENV == "true")
146 set backupdir=$E_DISK/var/backups/vi
148 set backupdir=e:/var/backups/vi
152 "set sessionoptions+=curdir
154 set backupskip+=*.clean,cvscommit.????,*.~
155 set wildignore=*.o,*.obj,*.exe,*.bak,*.clean
156 if has("gui_running")
157 let savevers_dirs = &backupdir
159 source $ADDED/savevers.vim
164 "change the direct when chang the buffer
165 au BufEnter * :lcd %:p:h
169 set titlestring=%<%F\ %M\ %R\ %{v:servername}\ %{mode()}\ e\ U
171 """""""""""""""""""""""""""""""""""""""""""""""""""""
174 """"""""""""""""""""""""""""""""""""""""""""""""""""""
175 """""""""""""""""""""""""""""""""""""""""""""""""""""
176 " Text Formatting/Layout
177 """""""""""""""""""""""""""""""""""""""""""""""""""""
179 """""""""""""""""""""""""""""""""""""""""""""""""""""
181 """""""""""""""""""""""""""""""""""""""""""""""""""""
182 set foldenable " Turn on folding
183 "set foldmethod=indent " Make folding indent sensitive
184 set foldlevel=100 " Don't autofold anything (but I can still fold manually)
185 "set foldopen-=search " don't open folds when you search into them
188 "set foldmethod=syntax
189 let g:xml_syntax_folding = 1
190 let xml_use_xhtml = 1
195 """""""""""""""""""""""""""""""""""""""""""""""""""""
197 """""""""""""""""""""""""""""""""""""""""""""""""""""
199 "nnoremap <C-i> i <esc>r
207 "for del the auto comment
208 noremap <m-cr> o<esc>^"8d$a
210 "for eclipse compatible
211 inoremap <m-/> <c-x><c-o>
213 "for good insert next line
215 noremap <m-i> :let g:currentline=line('.')<cr>:.d<cr>:if g:currentline==line('.')<cr>:normal -<cr>:endif<cr>o
217 "use <c-v> to mapping the block visual mode do not using the win32 paste
220 "nnoremap <silent> <cr> i<cr><esc>
224 "use <C-t> old using is to shift right and now chang to <C-e>
225 inoremap <C-t> <space><esc>d$a
226 "use <C-e> old using is to inster the character which is below the cursor
228 inoremap <m-cr> <cr><esc>^d$a
230 " reproduce previous line word by word
231 inoremap <C-j> @@@<ESC>hhkyWjl?@@@<CR>P/@@@<CR>3s
234 " Put string marked by visual mode as default for search commands / and ?
235 " Warning: extending the marked text by searching doesn't work any more.
236 vnoremap / y/<C-R>=escape(substitute(@","\n.*",'',''),'/\?*.$^~][')<cr>
237 vnoremap ? y?<C-R>=escape(substitute(@","\n.*",'',''),'/\?*.$^~][')<cr>
239 " substitute(@",..) - remove lines after first, if >1 line highlighted
240 " escape(..) - put '\' before all characters meaningful in regexp's
241 " y - yank current selection (in register ")
242 " ctrl-r = .. <cr> - put expression after / as earch string
243 " credits go to Stefan Roemer and Peppe (Preben Guldberg).
245 " Remove whitespace from lines containing nothing else (grr to all nedit users)
247 "for the mouse conflict key(c-insert) of HP notebook
248 noremap <Insert> <Esc>
249 noremap <C-Insert> <Esc>
250 inoremap <Insert> <Down>
251 inoremap <C-Insert> <Down>
255 "map <leader>s <Esc>:w<cr><Esc>:!aspell -c --dont-backup --lang=en_US "%:p"<cr>:e! "%"<cr><cr>
256 map <leader>ls <esc>:ls!<cr>
257 map <leader>ew <esc>:call MyWrap()<cr>
258 map <leader>ex <esc>:Ex<cr>
259 "map <leader>eb <esc>:set encoding=big5<cr>
260 map <leader>ec <esc>:call MyCoding()<cr>
261 "map <leader>eu <esc>:set encoding=utf-8<cr>
262 map <leader>el <esc>:set list!<cr>
263 map <leader>es <esc>:set hlsearch!<cr>
264 map <leader>em <esc>:call MyMenu()<cr>
265 map <leader>en <esc>:set nu!<cr>:set cursorline!<cr>
266 "map <leader>df <esc>:silent !start firefox "http://www.m-w.com/cgi-bin/Dictionary?book=Dictionary&va=<cword>"<cr><cr>
267 "map <leader>dF <esc>:silent !start firefox "http://www.m-w.com/cgi-bin/Thesaurus?book=Thesaurus&va=<cword>"<cr><cr>
268 "map <leader>dW <esc>:silent !wnb <cword> <cr><cr>
269 "map <leader>dz <esc>:!start firefox.exe <cWORD><cr><cr>
270 map <leader>dz <esc>:call MyUrl(expand('<cWORD>'))<cr>
271 map <leader>dw <esc>:call MyWebs(expand('<cword>'))<cr>1<cr>-
272 nnoremap <leader>dd <esc>:call MyTriggerMore()<cr>
273 nnoremap <leader>fd :set fileformat=dos<cr>
274 nnoremap <leader>fu :set fileformat=unix<cr>
275 map <leader>bp <esc>:bp<return>
276 map <leader>bn <esc>:bn<return>
277 map <leader>yy <esc>^"*y$
278 map <leader>sn <esc>:%s//&/gn<cr>
279 map <leader>m <esc>:silent MarksBrowser<cr>
281 "MAKE IT EASY TO UPDATE/RELOAD_vimrc
282 nnoremap <leader>-s <esc>:source ~/_vimrc<cr>
283 nnoremap <leader>-v <esc>:e ~/_vimrc<cr>
285 """""""""""""""""""""""""""""""""""""""""""""""""""""
286 " <F5>-<F8>maping for savers-pluging
287 " <F5> decrease version viewed in VersDiff window
288 " <F6> increase version viewed in VersDiff window
289 " <F7> do VersDiff with cvs version of current file
290 " <F8> cancel VersDiff window
291 nmap <silent> <F3> :VersDiff -<cr>
292 nmap <silent> <F4> :VersDiff +<cr>
293 """""""""""""""""""""""""""""""""""""""""""""""""""""
295 " for autohotkey to using:)
296 " 0=english input 1=chinese input
301 com! MM call MyMore()
302 """""""""""""""""""""""""""""""""""""""""""""""""""""
304 """""""""""""""""""""""""""""""""""""""""""""""""""""
305 "Programmings abbrevs
306 """""""""""""""""""""""""""""""""""""""""""""""""""""
307 """""""""""""""""""""""""""""""""""""""""""""""""""""
308 "Informational abbrevs
309 """""""""""""""""""""""""""""""""""""""""""""""""""""
310 "iab xda <c-r>=strftime("%Y-%m-%d-%H:%M:%S")<cr>
311 iab xda <c-r>=substitute(system("date +%Y-%m-%d-%H:%M"),"\n","","")<cr>
315 iabbrev synchronisation
325 """""""""""""""""""""""""""""""""""""""""""""""""""""
328 """""""""""""""""""""""""""""""""""""""""""""""""""""
329 "for no swap attation
333 if v:statusmsg =~ '\.sw[^p]$'
334 set statusline=%2*%=\ \ \ %50(%f\ @%n%*%1*[$]%*%2*[%{&ff}]%r%m%y%=\ \ \ %-14.(%l,%c\(%v\)%)\ %p%%%)%*
337 set statusline=%2*%=\ \ \ %50(%f\ @%n[%{FunFileEncoding()}]%r%m%y#%{changenr()}%=\ \ \ %-14.(%l,%c\(%v\)%)\ %p%%%)%*
338 "set statusline=%2*%=\ \ \ %50(%f\ @%n[%{&ff}]%r%m%y%=\ \ \ %-14.(%l,%c%V%)\ %p%%%)%*
344 autocmd BufEnter * silent call CheckSwap()
346 """""""""""""""""""""""""""""""""""""""""""""""""""""
351 """""""""""""""""""""""""""""""""""""""""""""""""""""
353 """""""""""""""""""""""""""""""""""""""""""""""""""""
354 "let g:vikiUseParentSuffix = 1
355 "let g:vikiSpecialFiles='jpg\|gif\|bmp\|pdf\|dvi\|ps\|eps\|png\|jpeg\|wmf\|otl'
356 "let g:vikiOpenFileWith_otl = 'silent !D:/prog/Natara/Bonsai/Bonsai.exe %{FILE}'
358 " we want to allow deplate to execute ruby code and external helper
360 "let g:deplatePrg = "deplate -x -X "
361 "au FileType viki compiler deplate
362 "let g:vikiInterOLM= $HOME ."/olm"
363 "let g:vikiInterOLM_suffix= ".olm"
364 "let g:vikiInterHW= $HOME ."/viki"
365 "let g:vikiInterHW_suffix= ".txt"
370 """""""""""""""""""""""""""""""""""""""""""""""""""""
372 map <leader>rr :MRU<cr>gg
373 let MRU_Max_Entries = 500
374 let MRU_Exclude_Files = '^/tmp/.*\|^/var/tmp/.*|^c:\\temp\\.*'
375 let MRU_File = $VIMFILY . "/_vim_mru_files"
376 "let MRU_Auto_Close = 0 " to keep the mru window
377 """""""""""""""""""""""""""""""""""""""""""""""""""""
379 """""""""""""""""""""""""""""""""""""""""""""""""""""
380 " setting for subversion
381 nmap <leader>va <Plug>VCSAdd
382 nmap <leader>vn <Plug>VCSAnnotate
383 nmap <leader>vc <Plug>VCSCommit
384 nmap <leader>vd <Plug>VCSDiff
385 nmap <leader>ve <Plug>VCSEdit
386 nmap <leader>vi <Plug>VCSEditors
387 nmap <leader>vg <Plug>VCSGotoOriginal
388 nmap <leader>vG <Plug>VCSGotoOriginal!
389 nmap <leader>vl <Plug>VCSLog
390 nmap <leader>vr <Plug>VCSReview
391 nmap <leader>vs <Plug>VCSStatus
392 nmap <leader>vt <Plug>VCSUnedit
393 nmap <leader>vu <Plug>VCSUpdate
394 nmap <leader>vv <Plug>VCSVimDiff
395 nmap <leader>vwv <Plug>VCSWatchers
396 nmap <leader>vwa <Plug>VCSWatchAdd
397 nmap <leader>vwn <Plug>VCSWatchOn
398 nmap <leader>vwf <Plug>VCSWatchOff
399 nmap <leader>vwf <Plug>VCSWatchRemove
400 """""""""""""""""""""""""""""""""""""""""""""""""""""
402 """""""""""""""""""""""""""""""""""""""""""""""""""""
404 if !hasmapto('<Plug>CRV_CRefVimVisual')
405 vmap <silent> <unique> <Leader>Cr <Plug>CRV_CRefVimVisual
406 nmap <silent> <unique> <Leader>Cr <Plug>CRV_CRefVimNormal
407 map <silent> <unique> <Leader>Cw <Plug>CRV_CRefVimAsk
408 map <silent> <unique> <Leader>Cc <Plug>CRV_CRefVimInvoke
410 """""""""""""""""""""""""""""""""""""""""""""""""""""
413 """""""""""""""""""""""""""""""""""""""""""""""""""""
415 "ca xsp write !aspell -a --lang="en_US"<cr>
416 """""""""""""""""""""""""""""""""""""""""""""""""""""
419 """""""""""""""""""""""""""""""""""""""""""""""""""""
421 """""""""""""""""""""""""""""""""""""""""""""""""""""
422 "autocmd BufEnter * :syntax sync fromstart " ensure every file does syntax highlighting (full)
423 "autocmd BufEnter * :lcd %:p:h " switch to current dir
424 "autocmd GUIEnter * :simalt ~x " maximize the screen
426 augroup filetypedetect
427 """""""""""""""""""""""""""""""""""""""""""""""""""""
428 "for help and readbale file mode
429 augroup! filetypedetect
430 autocmd FileType help call MyMore()
431 """""""""""""""""""""""""""""""""""""""""""""""""""""
433 """""""""""""""""""""""""""""""""""""""""""""""""""""
434 "for the make error windows quickfix windows
435 au BufReadPost quickfix set modifiable
436 au BufReadPost quickfix silent g/^/s//\=line(".")." "/
437 autocmd FileType qf call MyMore()
438 """""""""""""""""""""""""""""""""""""""""""""""""""""
440 """""""""""""""""""""""""""""""""""""""""""""""""""""
442 """""""""""""""""""""""""""""""""""""""""""""""""""""
443 "autocmd BufNewFile *.sh 0r ~/vimtemplate/skeleton.sh
444 "autocmd BufNewFile *.vim 0r $HOME/vimfiles/skel/vim.skel
445 autocmd BufNewFile,BufReadPre *.java,*.vim,*.sh,*.html,*.xhtml,*.py source $ADDED/skel.vim
446 "autocmd BufNewFile *.java 0r $VIMFILY/skel/java.skel
447 "autocmd BufNewFile *.vim 0r $VIMFILY/skel/vim.skel
448 "autocmd BufNewFile *.sh 0r $VIMFILY/skel/sh.skel
449 "autocmd BufNewFile *.html 0r $VIMFILY/skel/html.skel
450 "autocmd BufNewFile *.xhtml 0r $VIMFILY/skel/xhtml.skel
451 "autocmd BufNewFile *.java,*.vim,*.sh,*.html,*.xhtml call Replacy()
452 """""""""""""""""""""""""""""""""""""""""""""""""""""
453 """""""""""""""""""""""""""""""""""""""""""""""""""""
455 "au BufReadPre *.doc set ro
456 "au BufReadPre *.doc set hlsearch!
457 "au BufReadPost *.doc silent %!antiword "%"
458 "autocmd BufReadPost *.doc silent %!wvware "%"
459 """""""""""""""""""""""""""""""""""""""""""""""""""""
460 "au BufNewFile,BufRead /home/Administrator/std-java/new1.5/* let g:bnojikes=1
462 autocmd BufWritePre,FileWritePre *.vim ks|call LastMod()|'s
463 autocmd BufWritePre,FileWritePre *.jsp,*.html ks|call LastMod2()|'s
465 autocmd BufNewFile,BufreadPre *.text,*.wiki call TextMode()
466 "autocmd BufNewFile,BufreadPre *.rst call RstMode()
467 autocmd FileType vim setlocal complete=.,k~/dic/vimdiction,w,b,u,i
469 autocmd fileType ahk source $ADDED/bracket.vim
472 """""""""""""""""""""""""""""""""""""""""""""""""""""
474 """""""""""""""""""""""""""""""""""""""""""""""""""""
475 nnoremap <silent> <F8> :Tlist<cr>
476 let Tlist_Sort_Type = "name" " order by
477 let Tlist_Use_Right_Window = 1 " split to the right side of the screen
478 let tlist_dosini_settings= 'ini;r:respect'
479 let tlist_html_settings = 'html;a:anchor;f:javascript function;u:url'
480 let tlist_vb_settings= 'vb;t:type;s:sub;f:function'
481 let tlist_ant_settings = 'ant;p:Project;r:Property;t:Target'
482 let JavaBrowser_Use_SingleClick = 0
483 let JavaBrowser_Use_Right_Window = 1
484 let JavaBrowser_Use_Icon = 0
485 let JavaBrowser_Compact_Format = 1
486 let JavaBrowser_Expand_Tree_At_Startup = 1
489 """""""""""""""""""""""""""""""""""""""""""""""""""""
491 """""""""""""""""""""""""""""""""""""""""""""""""""""
492 let g:JavaImpPaths = $JAVALIB."/j2sdk1.5_src,".$JAVALIB."junit_src,".$VIMFILY."/JavaImp/jmplst"
493 let g:JavaImpDataDir = $VIMFILY."/JavaImp"
494 let g:JavaImpDocPaths= $JAVA_DOCPATH
495 let g:JavaImpDocViewer = "viewHtml"
499 """""""""""""""""""""""""""""""""""""""""""""""""""""
501 """""""""""""""""""""""""""""""""""""""""""""""""""""
502 let g:favex_ff='<leader>fa'
503 let g:favex_fd='<leader>fA'
504 """""""""""""""""""""""""""""""""""""""""""""""""""""
506 """""""""""""""""""""""""""""""""""""""""""""""""""""
507 """""""""""""""""""""""""""""""""""""""""""""""""""""
510 au VCSCommand User VCSBufferCreated silent! nmap <unique> <buffer> q :bwipeout<cr>
512 "let g:VCSCommandEdit= 'spilt'
514 """""""""""""""""""""""""""""""""""""""""""""""""""""
516 """""""""""""""""""""""""""""""""""""""""""""""""""""
518 """""""""""""""""""""""""""""""""""""""""""""""""""""
519 "let g:bufExplorerDetailedHelp=1
520 let g:netrw_keepdir=0
521 let g:netrw_cygwin= 1
522 let g:netrw_longlist=1
523 let g:netrw_sort_by="time"
524 let g:netrw_sort_direction="reverse"
525 let g:netrw_timefmt=" %Y %m %d\t%H:%M"
526 let g:netrw_winsize=25
528 """""""""""""""""""""""""""""""""""""""""""""""""""""
530 """""""""""""""""""""""""""""""""""""""""""""""""""""
531 "nmap <silent> <unique> <leader>be <Plug>SelectBuf
532 "nmap <unique> <leader>bl <Plug>SelBufLaunchCmd
533 "let selBufAlwaysShowHidden=0
534 "let selBufIgnoreNonFileBufs=0
537 "nmap <Leader>tv :call TabLineSet_verbose_toggle()<CR>
538 "nmap <Leader>tr :call TabLineSet_verbose_rotate()<CR>
539 "nmap <silent> <Leader>w :call WinWalkerMenu()<CR>
545 "Highlight space at end of line as error
546 "highlight WhitespaceEOL ctermbg=darkred guibg=darkred
547 "match WhitespaceEOL /\s\+$/
553 "set diffexpr=MyDiff()
555 " let opt = '-a --binary '
556 " if &diffopt =~ 'icase' | let opt = opt . '-i ' | endif
557 " if &diffopt =~ 'iwhite' | let opt = opt . '-b ' | endif
558 " let arg1 = v:fname_in
559 " if arg1 =~ ' ' | let arg1 = '"' . arg1 . '"' | endif
560 " let arg2 = v:fname_new
561 " if arg2 =~ ' ' | let arg2 = '"' . arg2 . '"' | endif
562 " let arg3 = v:fname_out
563 " if arg3 =~ ' ' | let arg3 = '"' . arg3 . '"' | endif
564 " silent execute '!e:\prog\Vim\vim63\diff ' . opt . arg1 . ' ' . arg2 . ' > ' . arg3
568 function! MyTabLabel(n)
569 let buflist = tabpagebuflist(a:n)
570 let winnr = tabpagewinnr(a:n)
571 return bufname(buflist[winnr - 1])
574 function! MyTabLine()
576 for i in range(tabpagenr('$'))
577 " select the highlighting
578 if i + 1 == tabpagenr()
579 let s .= '%#TabLineSel#'
581 let s .= '%#TabLine#'
584 " set the tab page number (for mouse clicks)
585 let s .= '%' . (i + 1) . 'T'
587 " the label is made by MyTabLabel()
588 let s .= ' %{MyTabLabel(' . (i + 1) . ')} '
591 " after the last tab fill with TabLineFill and reset tab page nr
592 let s .= '%#TabLineFill#%T'
594 " right-align the label to close the current tab page
595 if tabpagenr('$') > 1
596 let s .= '%=%#TabLine#%999Xclose'
602 function! GuiTabLabel()
604 "let bufnrlist = tabpagebuflist(v:lnum)
606 " Add '+' if one of the buffers in the tab page is modified
607 "for bufnr in bufnrlist
608 "if getbufvar(bufnr, "&modified")
614 " Append the number of windows in the tab page if more than one
615 "let wincount = tabpagewinnr(v:lnum, '$')
617 "let label .= wincount
619 if v:lnum == g:currentPage
624 " Append the buffer name
627 function! GuiTabLabel2()
629 let bufnrlist = tabpagebuflist(v:lnum)
631 " Add '+' if one of the buffers in the tab page is modified
632 "for bufnr in bufnrlist
633 "if getbufvar(bufnr, "&modified")
639 " Append the number of windows in the tab page if more than one
640 if v:lnum == g:currentPage
643 let wincount = tabpagewinnr(v:lnum, '$')
645 let label .= wincount
651 function! GuiTabLabelEnter()
652 let g:currentPage=tabpagenr()
653 set guitablabel=%{GuiTabLabel()}%N\ %t\ %{GuiTabLabel2()}
656 function! GuiTabLabelLeave()
659 " the tab setting and mapping
661 "set guitablabel=%N\ %f
662 "set guitablabel=%{GuiTabLabel()}
664 "set guitablabel=%N/\ %t\ %M
665 set tabline=%!MyTabLine()
667 map <silent><F12> :if g:toggleTabs == 1<CR>:tabo<CR>:set lines+=3<CR>:let g:toggleTabs = 0<CR>:else<CR>:set lines-=3<CR>:tab ball<CR>:let g:toggleTabs = 1<CR>:endif<CR>
668 map <silent><C-tab> :if g:toggleTabs == 1<CR>:tabnext<CR>:else<CR>:bn<CR>:endif<CR>
669 map <silent><C-S-tab> :if g:toggleTabs == 1<CR>:tabprevious<CR>:else<CR>:bp<CR>:endif<CR>
671 map <leader>tt <esc>:tabnew<cr>:let g:toggleTabs=1<cr>
672 map <leader>tx :tabclose<cr>:if tabpagenr("$") == 1<cr>let g:toggleTabs=0<cr>:endif<cr><cr>
673 map <leader>tm :tabmove
674 map <leader>tn :tabnext <cr>
675 map <leader>tp :tabprevious <cr>
676 "map <C-Tab> :tabn <CR>
677 "map <C-S-Tab> :tabp <CR>
680 autocmd TabEnter * call GuiTabLabelEnter()
684 "for new tab page setting
685 map <leader>ta <esc>:tab sball<cr>
686 if has("gui_running")
687 function! InfoGuiTooltip()
689 let wincount = tabpagewinnr(tabpagenr(),'$')
691 "get name of active buffers in windows
692 for i in tabpagebuflist()
693 let bufferlist .= '['.fnamemodify(bufname(i),':t')."]"
695 return bufname($).'-'.bufferlist
697 set guitabtooltip=%!InfoGuiTooltip()
700 function! FoldSpellBalloon()
701 let foldStart = foldclosed(v:beval_lnum )
702 let foldEnd = foldclosedend(v:beval_lnum)
704 " Detect if we are in a fold
706 " Detect if we are on a misspelled word
707 let lines = spellsuggest( spellbadword(v:beval_text)[ 0 ], 5, 0 )
710 let numLines = foldEnd - foldStart + 1
711 " if we have too many lines in fold, show only the first 14
712 " and the last 14 lines
714 let lines = getline( foldStart, foldStart + 14 )
715 let lines += [ '-- Snipped ' . ( numLines - 30 ) . ' lines --' ]
716 let lines += getline( foldEnd - 14, foldEnd )
718 "less than 30 lines, lets show all of them
719 let lines = getline( foldStart, foldEnd )
723 return join( lines, has( "balloon_multiline" ) ? "\n" : " " )
725 set balloonexpr=FoldSpellBalloon()
734 set grepprg=grep\ -nH\ $*
737 let g:Tex_CompileRule_dvi="xelatex -src-specials -interaction=nonstopmode $*"
738 "let g:Tex_DefaultTargetFormat="pdf"
739 "let g:Tex_ViewRule_pdf="xpdf"
742 "function RemoteLaTeX()
743 "let g:Tex_ViewRule_dvi="xdvi -editor 'gvim --servername \"".expand("%:p")
744 "\."\" --remote-silent'"
751 let g:vimim_chinese_punctuation=0
754 let jslint_highlight_color = 'yellow'
759 set csprg=/usr/bin/mlcscope
761 set csprg=d:\\cygwin\\bin\\mlcscope.exe
764 " for clipbord conflict with NERD
765 nmap <unique> <silent> <Leader>co <Plug>ClipBrdOpen
767 " add my highlight setting
768 highlight CursorLine term=none cterm=none