我的vim配置文件
2015-08-05 20:39
399 查看
经过一段时间的折腾,我的vim配置文件最终如下:
set nocompatible " 去掉vi一致性模式 """""""""""""""""""""""""""""""""""""""""" """ 使用vundle自动安装插件 """""""""""""""""""""""""""""""""""""""""" filetype off if has('win32') || has("win64") set rtp+=$VIM/vimfiles/bundle/vundle/ else set rtp+=~/.vim/bundle/Vundle.vim endif call vundle#begin() Bundle 'gmarik/vundle' filetype plugin indent on Bundle 'L9' Bundle 'drmingdrmer/xptemplate' Bundle 'christoomey/vim-run-interactive' Bundle 'croaky/vim-colors-github' Bundle 'danro/rename.vim' Bundle 'kchmck/vim-coffee-script' Bundle 'kien/ctrlp.vim' Bundle 'pbrisbin/vim-mkdir' Bundle 'scrooloose/syntastic' Bundle 'slim-template/vim-slim' Bundle 'thoughtbot/vim-rspec' Bundle 'tpope/vim-bundler' Bundle 'tpope/vim-endwise' Bundle 'tpope/vim-fugitive' Bundle 'tpope/vim-rails' Bundle 'tpope/vim-surround' Bundle 'vim-ruby/vim-ruby' Bundle 'vim-scripts/ctags.vim' Bundle 'vim-scripts/matchit.zip' Bundle 'vim-scripts/tComment' Bundle "mattn/emmet-vim" Bundle "scrooloose/nerdtree" Bundle "bling/vim-airline" Bundle "godlygeek/tabular" Bundle "jelera/vim-javascript-syntax" Bundle "othree/html5.vim" Bundle "xsbeats/vim-blade" Bundle "Raimondi/delimitMate" Bundle "groenewege/vim-less" Bundle "evanmiller/nginx-vim-syntax" Bundle "Lokaltog/vim-easymotion" Bundle 'MarcWeber/vim-addon-mw-utils' Bundle 'tomtom/tlib_vim' Bundle 'SirVer/ultisnips' Bundle 'honza/vim-snippets' Bundle 'Shougo/neocomplcache' Bundle 'majutsushi/tagbar' Bundle 'junegunn/vim-easy-align' Bundle 'tomtom/tcomment_vim' Bundle 'terryma/vim-multiple-cursors' Bundle "tomasr/molokai" Bundle "altercation/vim-colors-solarized" call vundle#end() filetype on filetype indent on filetype plugin on filetype plugin indent on """""""""""""""""""""""""""""""""""""""""" "" 设置文件的编码格式以及字体 """""""""""""""""""""""""""""""""""""""""" if has("win32") || has("win64") "set guifont=Consolas:h13 set guifont=DejaVu_Sans_Mono_for_Powerline:h11 else set guifont=DejaVu\ Sans\ Mono\ for\Powerline\ 11 endif set encoding=utf-8 set fileencodings=utf-8,chinese,latin-l if has("win32") set fileencoding=chinese else set fileencoding=utf-8 endif source $VIMRUNTIME/delmenu.vim source $VIMRUNTIME/menu.vim language messages zh_CN.utf-8 """""""""""""""""""""""""""""""""""""""""" """ 通用设置 """""""""""""""""""""""""""""""""""""""""" set guioptions-=T " 去掉工具栏 set number " 显示行号 set history=100 " 记录的命令数 syntax enable " 开启语法高亮 syntax on " 允许指定语法配色 set ignorecase " 搜索时大小写不敏感 set smartcase " 智能大小写模式 set wildmenu " 命令智能补全 set incsearch " 开启实时搜索功能 set hlsearch " 高亮显示搜索结果 set lbr " 不要再单词中断行 set mouse=a " 启用鼠标 set selection=inclusive " 光标位置在选中范围内 set clipboard+=unnamed " 复制到系统粘贴板 set ruler " 显示状态栏 set nobackup " 不进行备份 set nowritebackup " 取消备份文件 set dy=lastline " 显示最多行,不用@@ set showmatch " 显示括号匹配 set showcmd " 显示输入命令 set scrolloff=3 " 保持3行距离 set sidescrolloff=3 " 边缘时翻页 set autowrite " 自动保存 set magic " 正则表达式相关 set showtabline=1 " 显示标签页 set autoread " 文件改动是自动载入 set noeb " 去掉输入错误提示音 set vb t_vb= " 去掉命令错误提示音 set mousemodel=popup " 右键弹出快捷菜单 """ tab键和缩进设置 set autoindent " 自动缩进 set cindent " C语法缩进 set smartindent " 智能缩进 set expandtab " 将tab转为空格 set tabstop=4 " 设置tab键位数 set shiftwidth=4 " 4空格转为tab set softtabstop=4 " 连续空格转为制表符 " 光标移动到最左边或最右边自动折行 set whichwrap=b,s,<,>,[,] " 退格键可以折行删除 set backspace=indent,eol,start " 输入大括号按下回车使自动格式化 imap {<CR> {<CR>}<ESC>k$a<CR> if has('gui_running') set cursorline " 高亮显示当前行 endif colo desert " 设置配色主题 """""""""""""""""""""""""""""""""""""""""" """ 不同类型文件设置 """""""""""""""""""""""""""""""""""""""""" autocmd BufNewFile,BufRead *.py,*.pyw setf python autocmd BufNewFile,BufRead *.rb,*erb setlocal et sta sw=2 sts=2 autocmd Filetype ruby set et sta sw=2 sts=2 autocmd Filetype eruby set et sta sw=2 sts=2 autocmd Filetype lisp set et sta sw=4 sts=4 """""""""""""""""""""""""""""""""""""""""" """ leader按键以及tab栏切换设置 """""""""""""""""""""""""""""""""""""""""" let mapleader=";" nnoremap <C-l> gt " 跳转到后一个tab nnoremap <C-h> gT " 跳转到后一个tab nnoremap <leader>t :tabe<CR> """""""""""""""""""""""""""""""""""""""""" """ 定义Alt+方向键进行窗口间跳转 """""""""""""""""""""""""""""""""""""""""" noremap <F2> <C-W><C-W> " 依次遍历各窗口 noremap <M-Left> <C-W>h " 跳转到左窗口 noremap <M-Right> <C-W>l " 跳转到右窗口 noremap <M-Up> <C-W>k " 跳转到上窗口 noremap <M-Down> <C-W>j " 跳转到下窗口 """""""""""""""""""""""""""""""""""""""""" """ NerdTree插件 """""""""""""""""""""""""""""""""""""""""" " 按下F3键开启/关闭NERDTree map <F3> :NERDTreeMirror<CR> map <F3> :NERDTreeToggle<CR> " 控制光标移动超过一定距离时,自动将焦点移到屏中 let NERDTreeAutoCenter=1 " 指定鼠标模式(1.双击打开;2.单目录双文件3.单击打开 let NERDTreeMouseMode=2 " 是否默认显示书签列表 let NERDTreeShowBookmarks=0 " 是否显示隐藏文件 let NERDTreeShowHidden=1 " 窗口位置(left or right) let NERDTreeWinPos='left' " 窗口宽度 let NERDTreeWinSize=30 """""""""""""""""""""""""""""""""""""""""" """ airline设置 """""""""""""""""""""""""""""""""""""""""" set t_Co=256 set laststatus=2 set lazyredraw let g:airline_theme='powerlineish' " 使用powerline打过补丁的字体 let g:airline_powerline_fonts=1 if !exists('g:airline_symbols') let g:airline_symbols={} endif " 关闭空白符检测 let g:airline#extensions#whitespace#enabled=0 let g:airline_detect_modified=1 let g:airline_detect_paste=1 " enable bufferline integration let g:airline#extensions#bufferline#enabled=1 " enable syntastic integration let g:airline#extensions#synastic#enabled=1 " enable tabbar integration let g:airline#extensions#synastic#enabled=1 " 开启tabline let g:airline#extensions#tabline#enabled=1 " tabline中当前buffer两端的分隔字符 let g:airline#extensions#tabline#left_sep=' ' " tabline中未激活buffer两端的分隔字符 let g:airline#extensions#tabline#left_alt_sep='|' " tabline中buffer显示编号 let g:airline#extensions#tabline#buffer_nr_show=1 " 映射切换buffer的键位 nnoremap [b :bp<CR> nnoremap ]b :bn<CR> nnoremap <C-Left> :bp<CR> nnoremap <C-Right> :bn<CR> """""""""""""""""""""""""""""""""""""""""" """ Ctrlp 设置 """""""""""""""""""""""""""""""""""""""""" if has('win32') || has('win64') set wildignore+=*\\.git\\*,*\\.hg\\*,*\\.svn\\* else set wildignore+=*/.git/*,*/.hg/*.*/.svn/* endif """""""""""""""""""""""""""""""""""""""""" """ neocomplacache 设置 """""""""""""""""""""""""""""""""""""""""" let g:acp_enableAtStartup=0 " Use neocomplcache " 最好关闭,要不提示太频繁 let g:neocomplcache_enable_at_startup=0 " Use smartcase let g:neocomplcache_enable_smart_case=1 " Set minimum syntax keyword length let g:neocomplcache_min_syntax_length=3 " AutoComplPop like behavior "let g:neocomplcache_enable_auto_select=1 inoremap <expr><C-g> neocomplcache#undo_completion() " <TAB>: completion. inoremap <expr><TAB> pumvisible() ? "\<C-n>" : "\<TAB>" """""""""""""""""""""""""""""""""""""""""" """ syntastic 设置 """""""""""""""""""""""""""""""""""""""""" let g:syntastic_enable_highlighting=0 let g:syntastic_check_on_open=1 let g:syntastic_mode_map={ 'mode': 'passive', \ 'active_filetypes': ['ruby', 'python'], \ 'passive_filetypes': [] } """""""""""""""""""""""""""""""""""""""""" """ Ultisinps 设置 """""""""""""""""""""""""""""""""""""""""" let g:UltisnipsExpandTrigger="<C-k>" let g:UltisnipsJumpForwardTrigger="<C-n>" let g:UltisnipsJumpBackwardTrigger="<C-p>" """""""""""""""""""""""""""""""""""""""""" """ linux下面字典位置的设置 """""""""""""""""""""""""""""""""""""""""" " C-x C-k 在字典查找并补齐 " C-x C-o 万能补全功能,C-n自动补全 if has('unix') set dictionary+=/usr/share/dict/words set isk+=- " 设置-为单词的一部分 endif """""""""""""""""""""""""""""""""""""""""" """ Tagbar设置 """""""""""""""""""""""""""""""""""""""""" nmap <F4> :TagbarToggle<CR> let g:tagbar_left=1
相关文章推荐
- Spring 配置文件中如何配置数据库连接
- 算法设计与分析 - Week 3 分治策略
- appium Bootstrap UiSelectorParser源码分析
- 2015/8/5/抢锁/线程/JFrame
- 第二周周三
- 观察者模式、简单一对一双向聊天系统
- 枚举的简单应用(二)
- java工具类(三)之生成若干位随机数
- hdu1372(最爱的广搜)
- JavaScript基础----10Javascript语法-跳转语句----break和continue区别
- UIView详解
- Java中简单的生产者和消费者问题
- java工具类(三)之生成若干位随机数
- C语言:使用realloc函数对malloc或者calloc动态分配的内存大小进行扩展
- 200之内被7整除的数
- iOS之UIView的变更动画
- c#构造函数
- vim中的airline插件不显示箭头(解决)
- 虚拟化项目之运维实践
- 关于QT的系统总结