VUNDLE安装及使用

Vundle是vim上的插件管理器.只需要在.vimrc添加上控件名,Vundle可以帮我们下载到插件文件夹~/.vim/bundle

1. clone Vundle 

mkdir ~/.vim
mkdir ~/.vim/bundle
cd ~/.vim/bundle
git clone https://github.com/VundleVim/Vundle.vim.git

2. 配置.vimrc, 其中备注为" required 为必须的配置

 set nocompatible              " required
 filetype off                  " required
 " set the runtime path to include Vundle and initialize
 set rtp+=~/.vim/bundle/Vundle.vim
 call vundle#begin()
 Plugin 'scrooloose/nerdtree'
 Plugin 'jiangmiao/auto-pairs'
 Plugin 'jakwings/vim-colors'
 Plugin 'scrooloose/nerdcommenter'
 Plugin 'Xuyuanp/nerdtree-git-plugin'
 Plugin 'taglist.vim'
 Plugin 'Yggdroot/indentLine'
 Plugin 'tmhedberg/SimpylFold'
 Plugin 'Valloric/YouCompleteMe'
 call vundle#end()            " required
 filetype plugin indent on    " required

 autocmd bufwritepost ~/.vimrc source ~/.vimrc
 set helplang=cn
 if version >= 603
     set helplang=cn
     set encoding=utf-8
 endif
 set enc=utf-8
 set encoding=utf-8 fileencodings=utf-8
 set number
 set showtabline=0               "隐藏顶部标签栏"
 set guioptions-=r               "隐藏右侧滚动条"
 set guioptions-=L               "隐藏左侧滚动条"
 set guioptions-=b               "隐藏底部滚动条"
 set cursorline                  "突出显示当前行"
 set cursorcolumn                "突出显示当前列"
 set langmenu=zh_CN.UTF-8        "显示中文菜单
 " 变成辅助 -------------------------------------
 syntax on                           "开启语法高亮
 set nowrap                      "设置代码不折行"
 set noswapfile
 set fileformat=unix             "设置以unix的格式保存文件"
 set cindent                     "设置C样式的缩进格式"
 set tabstop=4                   "一个 tab 显示出来是多少个空格,默认 8
 set shiftwidth=4                "每一级缩进是多少个空格
 set backspace+=indent,eol,start "set backspace&可以对其重置
 set showmatch                   "显示匹配的括号"
 set scrolloff=5                 "距离顶部和底部5行"
 set laststatus=2                "命令行为两行"
 " 其他杂项 -------------------------------------
 set mouse=a                     "启用鼠标"
 set selection=exclusive
 set selectmode=mouse,key
 set matchtime=5
 set ignorecase                  "忽略大小写"
 set incsearch
 set hlsearch                    "高亮搜索项"
 set noexpandtab                 "不允许扩展table"
 set whichwrap+=<,>,h,l
 "使用F3键快速调出和隐藏它
 map <F3> :NERDTreeToggle<CR>
 let NERDTreeChDirMode=1
 "显示书签"
 let NERDTreeShowBookmarks=1
 "设置忽略文件类型"
 let NERDTreeIgnore=['\~$', '\.pyc$', '\.swp$']
 "窗口大小"
 let NERDTreeWinSize=25
 " 修改默认箭头
 let g:NERDTreeDirArrowExpandable = '▸'
 let g:NERDTreeDirArrowCollapsible = '▾'

 "How can I open a NERDTree automatically when vim starts up if no files were specified?
 autocmd StdinReadPre * let s:std_in=1
 autocmd VimEnter * if argc() == 0 && !exists("s:std_in") | NERDTree | endif
 " 打开vim时自动打开NERDTree
 "autocmd vimenter * NERDTree

 "How can I open NERDTree automatically when vim starts up on opening a directory?
 autocmd StdinReadPre * let s:std_in=1
 autocmd VimEnter * if argc() == 1 && isdirectory(argv()[0]) && !exists("s:std_in") | exe 'NERDTree' argv()[0] | wincmd p | ene | endif
 " 关闭vim时,如果打开的文件除了NERDTree没有其他文件时,它自动关闭,减少多次按:q!
 autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif

 " 开发的过程中,我们希望git信息直接在NERDTree中显示出来, 和Eclipse一样,修改的文件和增加的文件都给出相应的标注, 这时需要安装的插件就是 nerdtree-git-plu
 let g:NERDTreeIndicatorMapCustom = {
     \ "Modified"  : "✹",
     \ "Staged"    : "✚",
     \ "Untracked" : "✭",
     \ "Renamed"   : "➜",
     \ "Unmerged"  : "═",
     \ "Deleted"   : "✖",
     \ "Dirty"     : "✗",
     \ "Clean"     : "✔︎",
     \ "Unknown"   : "?"
     \ }
 " 显示行号
 let NERDTreeShowLineNumbers=1
 let NERDTreeAutoCenter=1

 " 在终端启动vim时,共享NERDTree
 let g:nerdtree_tabs_open_on_console_startup=1
 let Tlist_Use_Right_Window = 1          "让taglist窗口出现在Vim的右边
 let Tlist_File_Fold_Auto_Close = 1      "当同时显示多个文件中的tag时,设置为1,可使taglist只显示当前文件tag,其它文件的tag都被折叠起来。

 let Tlist_Show_One_File = 1             "只显示一个文件中的tag,默认为显示多个
 let Tlist_Sort_Type ='name'             "Tag的排序规则,以名字排序。默认是以在文件中出现的顺序排序

 let Tlist_GainFocus_On_ToggleOpen = 1       "Taglist窗口打开时,立刻切换为有焦点状态
 let Tlist_Exit_OnlyWindow = 1           "如果taglist窗口是最后一个窗口,则退出vim

 let Tlist_WinWidth = 32             "设置窗体宽度为32,可以根据自己喜好设置
 let Tlist_Ctags_Cmd='/usr/bin/ctags'  "这里比较重要了,设置ctags的位置,不是指向MacOS自带的那个,而是我们用homebrew安装的那个

 map t :TlistToggle<CR>              "热键设置,我设置成Leader+t来呼出和关闭Taglist

 " 支持任意ASCII码,也可以使用特殊字符:¦, ┆, or │ ,但只在utf-8编码下有效
 let g:indentLine_char='¦'
 " 使indentline生效
 let g:indentLine_enabled = 1

 " 必须手动输入za来折叠(和取消折叠)
 set foldmethod=indent                " 根据每行的缩进开启折叠
 set foldlevel=99

 " 使用空格键会是更好的选择,所以在你的配置文件中加上这一行命令吧:
 nnoremap <space> za
 " 希望看到折叠代码的文档字符串?
 let g:SimpylFold_docstring_preview=1
 " nerdcommenter默认热键<leader>为'\',这里将热键设置为','
 let mapleader=','

 " 设置注释快捷键
 map <F4> <leader>ci<CR>
 colorscheme desert
 "~/.vimrc
 let g:ycm_server_python_interpreter='/usr/local/Python-3.7.4/bin/python3'
 "let g:ycm_global_ycm_extra_conf='~/.vim/bundle/YouCompleteMe/third_party/ycmd/.ycm_extra_conf.py'
 let g:ycm_global_ycm_extra_conf='~/.vim/.ycm_extra_conf.py'
 nnoremap <space>f :YcmCompleter GoToDefinitionElseDeclaration<CR>
 nnoremap <space>q :q<CR>
 let g:ycm_collect_identifiers_from_tag_files = 1 "使用ctags生成的tags文件
 let g:ycm_goto_buffer_command = 'horizontal-split'
 let  g:ycm_confirm_extra_conf = 0
 " 补全菜单的开启与关闭
 set completeopt=longest,menu                    " 让Vim的补全菜单行为与一般IDE一致(参考VimTip1228)
 let g:ycm_min_num_of_chars_for_completion=2             " 从第2个键入字符就开始罗列匹配项
 let g:ycm_cache_omnifunc=0                      " 禁止缓存匹配项,每次都重新生成匹配项
 let g:ycm_autoclose_preview_window_after_completion=1       " 智能关闭自动补全窗口
 autocmd InsertLeave * if pumvisible() == 0|pclose|endif         " 离开插入模式后自动关闭预览窗口

 " 补全菜单中各项之间进行切换和选取:默认使用tab  s-tab进行上下切换,使用空格选取。可进行自定义设置:
 "let g:ycm_key_list_select_completion=['<c-n>']
 "let g:ycm_key_list_select_completion = ['<Down>']      " 通过上下键在补全菜单中进行切换
 "let g:ycm_key_list_previous_completion=['<c-p>']
 "let g:ycm_key_list_previous_completion = ['<Up>']
 inoremap <expr> <CR>       pumvisible() ? "\<C-y>" : "\<CR>"    " 回车即选中补全菜单中的当前项

 " 开启各种补全引擎
 let g:ycm_collect_identifiers_from_tags_files=1         " 开启 YCM 基于标签引擎
 let g:ycm_auto_trigger = 1                  " 开启 YCM 基于标识符补全,默认为1
 let g:ycm_seed_identifiers_with_syntax=1                " 开启 YCM 基于语法关键字补全
 let g:ycm_complete_in_comments = 1              " 在注释输入中也能补全
 let g:ycm_complete_in_strings = 1               " 在字符串输入中也能补全
 let g:ycm_collect_identifiers_from_comments_and_strings = 0 " 注释和字符串中的文字也会被收入补全
 let g:clang_user_options='|| exit 0'
 if has('mouse')
     set mouse-=a
 endif
 map <c-]> g<c-]>
 
 
 

3.安装插件

输入vim命令,在vim中输入

:PluginInstall   安装插件

:PluginList  查看已安装插件

 

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值