Ubuntu18.04安装vim-plug及NERDTree、YouCompleteMe插件指南

需积分: 1 4 下载量 7 浏览量 更新于2024-08-10 收藏 3KB TXT 举报
"在Ubuntu 18.04系统中安装和配置Vim编辑器的插件管理工具vim-plug,以及NerdTree和YouCompleteMe两个流行插件的详细步骤。" 在Ubuntu 18.04系统中,安装和管理Vim插件可以极大地提升开发效率。本文将指导你如何安装vim-plug插件管理器,并利用它来安装NerdTree(用于文件管理的侧边栏)和YouCompleteMe(强大的代码补全工具)。 首先,我们需要安装vim-plug。由于网络问题,我们可能需要先在`/etc/hosts`文件中添加一个映射,以便于访问GitHub上的资源。添加以下行: ``` 199.232.68.133 raw.githubusercontent.com ``` 接着,通过终端执行以下命令,下载vim-plug的安装脚本到`~/.vim/autoload`目录: ```bash curl -fLo ~/.vim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim ``` 安装完成后,我们需要编辑`~/.vimrc`文件来启用vim-plug并声明要安装的插件。打开这个文件并添加以下内容: ```vim call plug#begin('~/.vim/plugged') Plug 'junegunn/vim-plug' " 安装vim-plug自身 Plug 'scrooloose/nerdtree' " 安装NerdTree call plug#end() ``` 保存并退出`vimrc`,然后重新打开vim并运行命令: `:PlugInstall` 这将开始安装所列出的插件,包括NerdTree。 NerdTree是Vim中的一个非常实用的文件管理器,我们可以对其进行配置。在`~/.vimrc`中添加以下配置项以自定义NerdTree的行为: ```vim "->NERDTree目录树插件---配置选项===================================================== let g:NERDTreeDirArrowExpandable='▸' " 设置展开目录的图标 let g:NERDTreeDirArrowCollapsible='▾' " 设置折叠目录的图标 " 自动打开目录树 autocmd VimEnter * if argc() == 0 && !exists("s:std_in") | NERDTree | endif " 在没有文件打开时显示NerdTree 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 " CRTL+N 开关NerdTree map <C-n> :NERDTreeToggle<CR> " 关闭最后一个文件时,同时关闭NerdTree autocmd BufEnter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif ``` 至此,NerdTree已经安装并配置完毕。接下来,我们将安装YouCompleteMe,这是一个强大的代码补全插件,特别适合C/C++等语言。在`~/.vimrc`文件中添加以下行来安装: ```vim Plug 'Valloric/YouCompleteMe' ``` 然后运行`:PlugInstall`以安装YouCompleteMe。但是,YouCompleteMe还需要额外的编译步骤,根据你的编程语言需求,可能需要运行特定的安装脚本来完成配置。例如,对于C++支持,你需要执行: ```bash cd ~/.vim/plugged/YouCompleteMe ./install.py --clang-completer ``` 请确保你的系统上已经安装了必要的依赖,如Python、cmake、libclang等,否则上述命令可能会失败。 安装完成后,重启Vim,你现在应该拥有了完善的Vim环境,包括方便的插件管理和强大的代码补全功能。NerdTree让你轻松管理文件,而YouCompleteMe则提供了智能的代码补全,提高编程效率。