set nocompatible " be iMproved filetype off " required! set rtp+=~/.vim/bundle/vundle/ call vundle#rc() " let Vundle manage Vundle " required! Bundle 'gmarik/vundle' " My Bundles here: "Bu Bundle 'Valloric/YouCompleteMe' " original repos on github Bundle 'tpope/vim-fugitive' Bundle 'Lokaltog/vim-easymotion' Bundle 'rstacruz/sparkup', {'rtp': 'vim/'} Bundle 'tpope/vim-rails.git' " vim-scripts repos Bundle 'L9' Bundle 'FuzzyFinder' " non github repos Bundle 'git://git.wincent.com/command-t.git' " git repos on your local machine (ie. when working on your own plugin) Bundle 'file:///Users/gmarik/path/to/plugin' " ... Bundle 'dgryski/vim-godef' Bundle 'Blackrush/vim-gocode' Bundle 'majustsushi/tagbar' filetype plugin indent on " required! " " Brief help " :BundleList - list configured bundles " :BundleInstall(!) - install(update) bundles " :BundleSearch(!) foo - search(or refresh cache first) for foo " :BundleClean(!) - confirm(or auto-approve) removal of unused bundles " " see :h vundle for more details or wiki for FAQ " NOTE: comments after Bundle command are not allowed.. " This line should not be removed as it ensures that various options are " properly set to work with the Vim-related packages available in Debian. "debian.vim " Uncomment the next line to make Vim more Vi-compatible " NOTE: debian.vim sets 'nocompatible'. Setting 'compatible' changes numerous " options, so any other options should be set AFTER setting 'compatible'. set nocompatible " Vim5 and later versions support syntax highlighting. Uncommenting the " following enables syntax highlighting by default. if has("syntax") syntax on " 语法高亮 endif colorscheme ron " elflord ron peachpuff default 设置配色方案,vim自带的配色方案保存在/usr/share/vim/vim72/colors目录下 " detect file type filetype on filetype plugin on " If using a dark background within the editing area and syntax highlighting " turn on this option as well set background=dark " Uncomment the following to have Vim jump to the last position when " reopening a file if has("autocmd") au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif "have Vim load indentation rules and plugins according to the detected filetype filetype plugin indent on endif " The following are commented out as they cause vim to behave a lot " differently from regular Vi. They are highly recommended though. set ignorecase " 搜索模式里忽略大小写 set smartcase " 如果搜索模式包含大写字符,不使用 'ignorecase' 选项。只有在输入搜索模式并且打开 'ignorecase' 选项时才会使用。 set autowrite " 自动把内容写回文件: 如果文件被修改过,在每个 :next、:rewind、:last、:first、:previous、:stop、:suspend、:tag、:!、:make、CTRL-] 和 "CTRL-^命令时进行;用 :buffer、CTRL-O、CTRL-I、'{A-Z0-9} 或 `{A-Z0-9} 命令转到别的文件时亦然。 set autoindent " 设置自动对齐(缩进):即每行的缩进值与上一行相等;使用 noautoindent 取消设置 set smartindent " 智能对齐方式 set tabstop=4 " 设置制表符(tab键)的宽度 set softtabstop=4 " 设置软制表符的宽度 set shiftwidth=4 " (自动) 缩进使用的4个空格 set cindent " 使用 C/C++ 语言的自动缩进方式 set cinoptions={0,1s,t0,n-2,p2s,(03s,=.5s,>1s,=1s,:1s "设置C/C++语言的具体缩进方式 set backspace=2 " 设置退格键可用 set showmatch " 设置匹配模式,显示匹配的括号 set linebreak " 整词换行 set whichwrap=b,s,<,>,[,] " 光标从行首和行末时可以跳到另一行去 set hidden " Hide buffers when they are abandoned set mouse=a " Enable mouse usage (all modes) "使用鼠标 set number " Enable line number "显示行号 set previewwindow " 标识预览窗口 set history=50 " set command history to 50 "历史记录50条 "--状态行设置-- set laststatus=2 " 总显示最后一个窗口的状态行;设为1则窗口数多于一个的时候显示最后一个窗口的状态行;0不显示最后一个窗口的状态行 set ruler " 标尺,用于显示光标位置的行号和列号,逗号分隔。每个窗口都有自己的标尺。如果窗口有状态行,标尺在那里显示。否则,它显示在屏幕的最后一行上。 "--命令行设置-- set showcmd " 命令行显示输入的命令 set showmode " 命令行显示vim当前模式 "--find setting-- set incsearch " 输入字符串就显示匹配点 set hlsearch set encoding=utf-8 set fileencodings=ucs-bom,utf-8,cp936 set fileencoding=gb2312 set termencoding=utf-8 nnoremap <F2> :exe 'NERDTreeToggle'<CR> " for ycm "设置全局配置文件的路径 let g:ycm_global_ycm_extra_conf = '/root/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm/ycm_extra_conf.py' "开启基于tag的补全,可以在这之后添加需要的标签路径 let g:ycm_collect_identifiers_from_tags_files = 1 "开启语义补全 let g:ycm_seed_identifiers_with_syntax = 1 "在接受补全后不分裂出一个窗口显示接受的项 set completeopt-=preview "不显示开启vim时检查ycm_extra_conf文件的信息 let g:ycm_confirm_extra_conf=0 "每次重新生成匹配项,禁止缓存匹配项 let g:ycm_cache_omnifunc=0 "在注释中也可以补全 let g:ycm_complete_in_comments=1 "输入第一个字符就开始补全 let g:ycm_min_num_of_chars_for_completion=2 "不查询ultisnips提供的代码模板补全,如果需要,设置成1即可 let g:ycm_use_ultisnips_completer=0 let g:ycm_filepath_completion_use_working_dir=1 let g:ycm_enable_diagnostic_signs=0 let g:ycm_enable_diagnostic_highlighting=0 nnoremap <leader>gl :YcmCompleter GoToDeclaration<CR> nnoremap <leader>gf :YcmCompleter GoToDefinition<CR> nnoremap <leader>gg :YcmCompleter GoToDefinitionElseDeclaration<CR> let g:syntastic_error_symbol=1