zoukankan      html  css  js  c++  java
  • 分享个人Vim型材

        大力支持开源精神。保持开源大旗,今天,我将分享我自己以及结合自己的实际使用互联网的vimrc,我可以给你下的参考,不要见笑哈,说明我rc我写了一个非常详细,可以看看详细。同时,我们也希望借此机会结识了几个Vimer他们.

        PS: 比方说转移工作环境或者切换主机,比較便捷到做法就是安装好vim之后,一遍git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle,将vundle插件装好之后,一阵BundleInstall,就可以完美切换到你曾经使用到Vim环境。十分方便。另外主题下载之后复制到.vim/colors之后就可以适配。地址在.vimrc内部,还有monaco字体配置能够直接git clone https://github.com/jiyinyiyong/monaco-font.git/

        

    "========================================
    " File Name: .vimrc
    " Author: Jin Yuqi
    " Email: 179386223@qq.com
    " Description: Vim配置文档
    " Date: 2014.5.30
    "========================================
    
    let mapleader = ''
    let g:mapleader = ''
    
    " 关闭vi的一致性模式,避免曾经版本号的一些Bug和局限
    set nocompatible
    
    " 显示行号
    set number
    
    " 设置字体
    set gfn=Monaco 12
    
    " 设置主题颜色
    colorscheme molokai
    
    " 配色打开
    syntax on
    
    " 开启语法高亮
    syntax enable
    
    " 设置历史记录条数
    set history=1000
    
    " 设置取消备份,禁止暂时文件生成
    set nobackup
    set noswapfile
    
    " 显示当前横竖线
    "set cursorline
    "set cursorcolumn
    
    " 设置C/C++方式自己主动对齐
    set autoindent
    set cindent
    set smartindent
    
    " 设置搜索时忽略大写和小写
    set ignorecase
    " 当搜索的时候尝试smart
    set smartcase
    
    " 设置在Vim中能够使用鼠标,防止终端无法拷贝
    set mouse=a
    
    " 设置tab宽度
    set tabstop=4
    
    " 设置自己主动对齐空格数
    set shiftwidth=4
    
    " 设置编码方式
    set encoding=utf-8
    
    " 检測文件类型
    filetype on
    
    " 针对不同的文件,採用不同的缩进方式
    filetype indent on
    
    " 同意插件
    filetype plugin on
    
    " 设置打开文件的编码格式
    set fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1
    
    " 开启及时搜索(is)
    set incsearch
    
    " 设置搜索高亮(hlsearch)
    set hls
    
    " 总是显示状态栏(Powerline需要2行)
    set laststatus=2
    
    " 设置代码匹配,包括括号匹配情况
    set showmatch
    
    " 设置匹配跳转时间(1/10秒)
    "set mat=2
    
    " 编辑的时候将全部的tab设置为空格(expandtab)
    set et
    
    " 使用Backspace直接删除tab
    set smarttab
    
    " 不在单词中间折行
    set lbr
    
    " 加入水平滚动栏
    "set guioptions+=b
    
    " 指定不折行
    set nowrap
    
    " 取消菜单条和导航栏
    set guioptions-=m
    set guioptions-=T
    
    " 设置水平行数和竖直列数
    set lines=35
    set columns=99
    
    " 使pathogen生效(插件管理器,仅仅需将插件放入bundle,将pathogen.vim放入autoload就可以)
    "execute pathogen#infect()
    
    
    """"""""""Vundle settings""""""""""""
    " set nocompatible
    filetype off " Vundle必需要求使用filetype off,假设不设置该选项。UltiSnips无法使用
    set rtp+=~/.vim/bundle/vundle
    call vundle#rc()
    
    " let Vundle manage Vundle 
    " required
    Bundle 'gmarik/vundle'
    
    " My bundles here:
    " original repos on GitHub
    "Bundle 'tpope/vim-fugitive'
    Bundle 'Lokaltog/vim-easymotion'
    " 补全if,else,while,for,while等
    Bundle 'SirVer/ultisnips'
    Bundle 'scrooloose/nerdtree'
    
    " 对括号等进行光标的控制辅助
    
    "Bundle 'rstacruz/sparkup', {'rtp': 'vim/'}
    "Bundle 'tpope/vim-rails.git'
    Bundle 'scrooloose/syntastic'
    Bundle 'Valloric/YouCompleteMe'
    Bundle 'Valloric/ListToggle'
    Bundle 'L9'
    Bundle 'FuzzyFinder'
    Bundle 'majutsushi/tagbar'
    Bundle 'Lokaltog/vim-powerline'
    Bundle 'kien/ctrlp.vim'
    " vim-scripts repos
    Bundle 'taglist.vim'
    Bundle 'a.vim'
    "Bundle 'easytags.vim'
    "Bundle 'c.vim'
    " non-GitHub repos
    "Bundle 'git://git.wincent.com/command-t.git'
    " Git repos on your local machine (i.e. when working on your own plugin)
    "Bundle 'file:///Users/gmarik/path/to/plugin'
    
    filetype on " 打开此选项以让UltiSnips使用
    
    " TagList settings
    " increase the width of the taglist window
    "let Tlist_WinWidth=20
    " 自己主动打开TagList的window
    let Tlist_Auto_Open=0
    " 当仅仅剩下Tlist的时候自己主动关闭
    let Tlist_Exit_OnlyWindow=1
    " 打开tags用单击
    let Tlist_Use_SingleClick=1
    " close tag folders for inactive buffers
    let Tlist_File_Fold_Auto_Close=1
    " show the fold indiactor column in the taglist window
    let Tlist_Enable_Fold_Column=1
    " 自己主动更新TagList包括最新编辑的文件
    let Tlist_Auto_Update=1
    " 显示一个文件的tag
    let Tlist_Show_One_File=1
    " 在右側显示窗体
    let Tlist_Use_Right_Window=1
    " 依照名称排序
    let Tlist_Sort_Type="name"
    " 让TagList始终解释文件里的tag,无论TagList窗体有没有打开
    let Tlist_Process_File_Always=1
    " 设置leader键
    nnoremap <leader>tl :TlistToggle<CR>
    
    " YCM settings
    let g:ycm_global_ycm_extra_conf='~/.vim/bundle/YouCompleteMe/cpp/ycm/.ycm_extra_conf.py'
    let g:ycm_collect_indentifiers_from_tags_files=1
    let g:ycm_seed_identifiers_with_syntax=1
    " 避免YCM每次载入都对用户提示是否载入
    let g:ycm_confirm_extra_conf=0
    let g:ycm_autoclose_preview_window_after_completion=1
    " 跳到定义或声明
    nnoremap <F2> :YcmCompleter GoToDefinitionElseDeclaration<CR>
    " 强制进行编译
    nnoremap <F5> :YcmForceCompileAndDiagnostics<CR>
    
    """"""""""Syntastic settings""""""""""""
    " 在打开文件的时候检查
    let g:syntastic_check_on_open = 1
    let g:syntastic_cpp_include_dirs = ['/usr/include/']
    let g:syntastic_cpp_remove_include_errors = 1
    let g:syntastic_cpp_check_header = 1
    let g:syntastic_cpp_compiler = 'clang++'
    let g:syntastic_cpp_compiler_options = '-std=c++11 -stdlib=libstdc++'
    "set error or warning signs
    let g:syntastic_error_symbol = '✗'
    let g:syntastic_warning_symbol = '⚠'
    "whether to show balloons
    let g:syntastic_enable_balloons = 1
    let g:syntastic_always_populate_loc_list = 1
    
    " ListToggle settings
    let g:lt_location_list_toggle_map = '<leader>l'
    let g:lt_quickfix_list_toggle_map = '<leader>q'
    
    """""""""" NERDtree settings"""""""""""""""
    let NERDTreeWinPos='left'
    nnoremap <leader>n :NERDTreeToggle<CR>
    autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTreeType") &&b:NERDTreeType == "primary") | q | endif
    
    """"""""""FuzzyFinder settings""""""""""
    nnoremap <leader>f :FufFile<CR>
    nnoremap <leader>b :FufBuffer<CR>
    nnoremap <leader>d :FufDir<CR>
    
    """"""""""UltiSnips settings""""""""""""""""""""""
    let g:UltiSnipsExpandTrigger = '<c-l>'
    
    """"""""""Tagbar settings""""""""""""""""""""""
    nnoremap <leader>tb :Tagbar<CR>
    
    """"""""""A settings""""""""""""""""""""""
    nnoremap <F4> :A<CR>
    
    """"""""""Powerline settings""""""""""""""""""""""
    "let g:Powerline_symbols = 'fancy'
    "let g:Powerline_cache_enabled = 1
    
    " Test
    let g:session_autoload='yes'
    let g:session_autosave='yes'
    
    " 參考链接:
    " Molokia GitHub地址 https://github.com/tomasr/molokai
    " amix vimrc模板地址参考:amix.dk/vim/vimrc.html
    

    版权声明:本文博客原创文章,博客,未经同意,不得转载。

  • 相关阅读:
    bzoj 1093: [ZJOI2007]最大半连通子图
    bzoj 1266 1266: [AHOI2006]上学路线route
    poj 2104 K-th Number
    洛谷 P3313 [SDOI2014]旅行
    cogs 306. [SGOI] 糊涂的记者
    cogs 1164. 跑步
    洛谷 1821: [JSOI2010]Group 部落划分 Group
    洛谷 U3357 C2-走楼梯
    洛谷 P3014 [USACO11FEB]牛线Cow Line
    洛谷 P2982 [USACO10FEB]慢下来Slowing down
  • 原文地址:https://www.cnblogs.com/mfrbuaa/p/4637528.html
Copyright © 2011-2022 走看看