-
贴个vimrc - [CS\IT]
2009-10-23
版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://kerochan.blogbus.com/logs/48982869.html
最近做php Zend Framwork的项目,Zend Studio还算好用,但是各种慢和不响应,文本编辑器还是vim用得舒服,于是在一堆插件的支持和以下vimrc配置下,Zend Studio能实现的功能,vim能做到90%,而vim能做到的功能,Zend就做不到了,更何况,vim可不是为某一个编程语言某一个framwork诞生的
"ABOUT Original settings
"set backspace=2 "这个太诡异了!,自己编译安装的7.2就需要这句
set autoread "文件从外部发生变化时自动读入
"set autowrite "切换buffer时自动写入
set fileencodings=utf-8,chinese "打开文件时先尝试utf-8,否则尝试所有中文编码,有这么一句基本上就不会遇到乱码问题了
set wildmenu "输入命令时按tab能在状态栏显示匹配
"set cursorline "在当前行下面划一条线,太难看了
"以下两行能够实现只在活跃窗口当前行下面划线
"autocmd WinEnter * setlocal cursorline
"autocmd WinLeave * setlocal nocursorline
set ignorecase "查找时忽略大小写
set tabstop=3
set shiftwidth=3
colorscheme desert1 "我修改后的desert主题
set number "显示行号
"set foldmethod=indent
set foldmethod=marker
"set hlsearch "高亮搜索字
set incsearch "增量搜索
set showcmd "在底行显示正在输入的命令
filetype on "自动检测文件类型
filetype plugin on
filetype indent on
syntax on
"set completeopt=menu,preview
set completeopt=menu
set mouse=a
"about taglist
let Tlist_Inc_Winwidth=0
let Tlist_File_Fold_Auto_Close=1
let Tlist_WinWidth=30
let Tlist_Use_Right_Window=1
let Tlist_Use_SingleClick=1
"let tlist_php_settings = 'php;c:class;i:interfaces;d:const;f:function'
"about minibuf
"let g:miniBufExplMapWindowNavVim=1 "Ctrl-<hjkl> to move to window
let g:miniBufExplTabWrap=1 "make tabs show complete (no broken on two lines)
let g:miniBufExplUseSingleClick=1 "single click to open a tab
"about some key maps
"map <F3> :Ex<CR>
map <F4> :Tlist<CR>
"minibuf
map O1;5D :bp<CR>
map <C-Left> :bp<CR>
map <C-H> :bp<CR>
map O1;5C :bn<CR>
map <C-Right> :bn<CR>
map <C-L> :bn<CR>
map <F3> :NERDTreeToggle /home/yyk/openjudge/<CR>
" make it like eclipse
map <C-W> :wq<CR>
map <C-D> dd
imap <C-D> <C-O>dd
imap <C-U> <C-O>u
imap <C-R> <C-O><C-R>
" navigate using ctrl+hljk in insert mode
imap <C-H> <C-O>h
imap <C-L> <C-O>l
imap <C-J> <C-O>j
imap <C-K> <C-O>k
imap <C-N> <C-O>j<C-O>OH
imap <C-P> <C-O>k<C-O>OF
" make it like windows
map <C-A> ggvG<END> "全选
map <C-C> "+y "复制到系统剪切板
map <C-s> :w<CR> "保存
imap <C-S> <C-O>:w<CR>
" ctrl+s是terminal的一个feature,会锁住terminal,为达到以上效果需要先执行
" stty stop ^@
" make it like visual studio
map <C-F7> :wa<CR>:make<CR>
map <F9> :call EnhancedCommentify('yes', 'guess')<CR>
"""""""""""""""""""""""""""""""""""""
" about calendar "
"""""""""""""""""""""""""""""""""""""
"let g:calendar_diary='~/.vim/.diary'
"but I never use it -_-b
"""""""""""""""""""""""""""""""""""""
" about latex-suite "
"""""""""""""""""""""""""""""""""""""
"let g:Tex_DefaultTargetFormat ='pdf'
"set grepprg=grep\ -nH\ $*
"""""""""""""""""""""""""""""""""""""
" about better use of cscope "
"""""""""""""""""""""""""""""""""""""
"from :help cscope 如果文件夹下有cscope.out则自动加载
if has("cscope")
set csprg=/usr/bin/cscope
set csto=0
set cst
set nocsverb
" add any database in current directory
if filereadable("cscope.out")
cs add cscope.out
" else add database pointed to by environment
elseif $CSCOPE_DB != ""
cs add $CSCOPE_DB
endif
set csverb
endif
"map <C-]> :cs find 3 <C-R>=expand("<cword>")<CR><CR>
map <C-\> :cs find 0 <C-R>=expand("<cword>")<CR><CR>
map <C-[> :cs find 3 <C-R>=expand("<cword>")<CR><CR>
map <C-F8> :!cscope -ubqRC<CR>:cs kill 0<CR>:cs add cscope.out<CR>
"重建cscope.out,断开原有cscope连接并建立新的连接
"-u 无条件重建,假设所有文件都发生了改变
"-b build the cross-reference only
"-q make it faster
"-R recurse subdirs
"-C ignore letter case when searching
"背景使用黑色
"set background=dark
"设置配色方案
"colorscheme murphy
"colo torte
"colorscheme evening
"colorscheme blue
"colorscheme darkblue
"colorscheme default
"colorscheme delek
"colorscheme desert
"colorscheme elflord
"colorscheme koehler
"colorscheme morning
"colorscheme pablo
"colorscheme peachpuff
"colorscheme ron
"colorscheme slate
"有趣的用法
":X 设置密码
":set key=(空) 取消密码
" for vimgdb
"if version > 701
" set previewheight=1
" run macros/gdb_mappings.vim
" set asm=0
" set gdbprg=gdb
"endif
" for python completion
python << EOF
import os
import sys
import vim
for p in sys.path:
if os.path.isdir(p):
vim.command(r"set path+=%s" % (p.replace(" ", r"\ ")))
EOF
"completion
autocmd FileType c set omnifunc=ccomplete#Complete
autocmd FileType python set omnifunc=pythoncomplete#Complete
autocmd FileType ada set omnifunc=adacomplete#Complete
autocmd FileType javascript set omnifunc=javascriptcomplete#CompleteJS
autocmd FileType html set omnifunc=htmlcomplete#CompleteTags
autocmd FileType phtml 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 ruby set omnifunc=rubycomplete#Completeruby
autocmd FileType sql set omnifunc=sqlcomplete#Completesql
"my snippets
autocmd FileType java Snippet ,o System.out.println(<{}>);<CR><{}>
autocmd FileType python Snippet forr for <{}> in range(<{}>):<CR><{}>
"my snippets on openjudge
"syntax
autocmd FileType php Snippet foreach foreach (<{}>) {<CR><CR>}
autocmd FileType phtml Snippet foreach <?php foreach (<{}>):?><CR><?php endforeach;?>
autocmd FileType php Snippet getpost $this->_request->getPost<{}>
autocmd FileType php Snippet getquery $this->_request->getQuery<{}>
autocmd FileType phtml Snippet if <?php if (<{}>):?><CR><?php endif;?>
autocmd FileType php Snippet if if (<{}>) {<CR><CR>}
"
"run and debug python program
autocmd FileType python map <F5> :w<CR>:!python %<CR>
autocmd FileType python map <F6> :w<CR>:!pdb %<CR>
"python
"set sw=3
"set ts=3
"这两个前面设过了
autocmd FileType python setlocal expandtab smarttab shiftwidth=3 softtabstop=3
"remove trailing whitespaces when saving
autocmd BufWritePre *.py normal m`:%s/\s\+$//e ''
autocmd BufWritePre *.php :%s/\s\+$//e
autocmd BufWritePre *.phtml :%s/\s\+$//e
"autocmd FileType c :set foldmethod=syntax
let g:sql_type_default = 'mysql'
"latexsuite
set grepprg=grep\ -nH\ $*
let g:tex_flavor='latex'
"NERDTree
let NERDTreeMouseMode=3
let NERDTreeShowBookmarks=1
source ~/.vim/openjudge.snippets.vim "个人项目的snippets随机文章:
全手动安装上ADT 0.9.3 2009-10-12Apache tomcat native library 2009-09-22windows7下使用vSphere\vCentre 2009-07-22可恶的163邮箱 2008-10-07关于SAX,DOM,JAXP,JDOM,DOM4J的一些理解(zz) 2008-07-17
收藏到:Del.icio.us







