一.环境

发行版:Ubuntu 18.04 LTS

代号:bionic

内核版本:4.15.0-33-generic

二.步骤

2.1 准备工作

sudo apt-get install python3-pip clang cmake python2.7-dev  -y

pip3 install future frozendict

2.2 获取vundle

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

(将vunble安装在~/.vim/bundle目录下)

2.3 创建一个配置文件~/.vundle.vimrc,如果直接将配置加入~/.vimrc,那么会导致~/.vimrc太臃肿

jello:~$ cat .vundle.vimrc
set nocompatible "必须的,去除vi一致性
filetype off "必须的,关闭文件类型检测

set rtp+=~/.vim/bundle/Vundle.vim "设置vundle的运行时路径并进行初始化

call vundle#begin() "插件开始位置
Plugin 'VundleVim/Vundle.vim' "使得vundle自己管理自己
Plugin 'junegunn/fzf' "文件搜索
Plugin 'rking/ag.vim' "批量搜索代码文件,模糊匹配,正则表达式
Plugin 'w0rp/ale' "代码对齐(只支持vim8.0以后的版本)
Plugin 'easymotion/vim-easymotion' "快速跳转
Plugin 'mhinz/vim-signify' "版本控制(git,svn)
Plugin 'majutsushi/tagbar' "源代码符号的结构化视图
Plugin 'scrooloose/nerdtree' "目录树
Plugin 'vim-scripts/cscope.vim' "自动创建cscope数据库和连接存在的合适的数据库
Plugin 'vim-scripts/autoload_cscope.vim' "自动搜索和加载cscope.out
Plugin 'vim-scripts/a.vim' "源文件和头文件之间的快速切换
Plugin 'Valloric/YouCompleteMe' "自动补全工具(c,c++,c#)
Plugin 'vim-scripts/AutoTag' "当保存文件时自动更新tags文件

Plugin 'erig0/cscope_dynamic' "自动动态更新cscope

call vundle#end() "插件结束位置
filetype plugin indent on "必须的,文件检测功能打开,加载文件类型相关的插件,为不同文件类型选择合适的缩进方式

2.4 编辑~/.vimrc,以便自动加载.vundle.vimrc

jello:~$ cat .vimrc
if filereadable(".vundle.vimrc")
        source ~/.vundle.vimrc
endif

2.5 启动vim,在命令模式下输入以下命令以便安装插件

:PluginInstall

2.6 设置tab键为4个空格

请看这里

2.7 关键字颜色改成绿色并且非粗体,加入以下一行到~/.vimrc即可

hi Identifier ctermfg =green cterm =none

2.8 注释颜色改成蓝色,加入以下一行到~/.vimrc即可

hi Comment ctermfg =blue

2.9 查看启动各插件消耗的时间

vim --startuptime timeCost.txt timeCost.txt

2.10 改变窗口配色方案,往.vimrc中加入以下语句即可

:colorscheme desert

2.11 启动vi后提示The ycmd server SHUT DOWN (restart with :YcmRestartServer)该如何处理

  请查看这里

将vi打造成IDE的更多相关文章

  1. 用 for/in 在 Java 5.0 中增强循环

    这个方便的构造提供了什么?什么时候适用于代码? Brett McLaughlin (brett@newInstance.com), 作者/编辑, O'Reilly Media, Inc. 简介: fo ...

  2. [Mac A]为什么国外程序员爱用 Mac?

    from http://www.vpsee.com/2009/06/why-programmers-love-mac/ Mac 在国外很受欢迎,尤其是在 设计/web开发/IT 人员圈子里.普通用户喜 ...

  3. 【转】windows和linux中搭建python集成开发环境IDE

    本系列分为两篇: 1.[转]windows和linux中搭建python集成开发环境IDE 2.[转]linux和windows下安装python集成开发环境及其python包 3.windows和l ...

  4. 10 款最好的 Python IDE

    Python 非常易学,强大的编程语言.Python 包括高效高级的数据结构,提供简单且高效的面向对象编程. Python 的学习过程少不了 IDE 或者代码编辑器,或者集成的开发编辑器(IDE).这 ...

  5. 将Vim改造为强大的IDE—Vim集成Ctags/Taglist/Cscope/Winmanager/NERDTree/OmniCppComplete(有图有真相)(转)

    1.安装Vim和Vim基本插件首先安装好Vim和Vim的基本插件.这些使用apt-get安装即可:lingd@ubuntu:~/arm$sudo apt-get install vim vim-scr ...

  6. 【转】手把手教你把Vim改装成一个IDE编程环境(图文)

    手把手教你把Vim改装成一个IDE编程环境(图文) By: 吴垠 Date: 2007-09-07 Version: 0.5 Email: lazy.fox.wu#gmail.com Homepage ...

  7. VI经典插件ctags

    Vi经典插件ctags(转) (为了提高工作效率,必须学会使用一些工具) . 查看 key 相关信息说明的命令 :help keycodes ============================= ...

  8. 最好的Java IDE之争:Eclipse PK IntelliJ IDEA

    话说,好马配好鞍,一个好的工匠,必定要有一套好的工具才能打造出最好的工艺给大家.之前,Plumbr团队里的所有成员都使用Eclipse编辑器,而如今,大家都成为IntelliJ IDEA用户.那么,到 ...

  9. ADF_Starting系列1_JDeveloper IDE开发环境简介

    2013-05-01 Created By BaoXinjian

随机推荐

  1. Excel 2010版筛选怎么用

    很多人在使用excel表格的时候,不知道这个筛选功能怎么用,可以对我们平时做数据和表格带来哪些帮助.那么,接下来,小敏以excel表格2010版为例,跟大家分享一下这个excel表格筛选功能的使用方法 ...

  2. 图论之最短路径(3)队列优化的Bellman-Ford算法(SPFA算法)

    在Bellman-Ford算法中 我们可以看到大量的优化空间:如果一个点的最短路径已经确定了,那么它就不会再改变,因此不需要再处理.换句话说:我们每次只对最短路径改变了的顶点的所有出边进行操作 使用一 ...

  3. MUI事件管理

    模块:事件管理 http://dev.dcloud.net.cn/mui/event/ 事件绑定: 除了可以使用addEventListener()方法监听某个特定元素上的事件外, 也可以使用.on( ...

  4. 170622、springboot编程之JPA操作数据库

    JPA操作数据库 什么事JAP?JPA全称Java Persistence API.JPA通过JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中. 1.在pom ...

  5. MVC认识

    1.ASP.NET两种开发模式的简单比较(WebForm和MVC) (1)WebForm开发模式 当用户输入网址https://i.cnblogs.com/EditPosts.aspx?opt=1进行 ...

  6. MySQL删除数据表中重复数据

    今天遇到一个问题,数据表的数据有重复的,关键原因在于新增数据时,没有根据条件先判断数据是否存在,当数据存在时进行有关条件的更新,不存在时做新增数据. 对于表中已经存在的数据处理办法的方法: 1.先根据 ...

  7. CSU 1808 地铁 (Dijkstra)

    Description Bobo 居住在大城市 ICPCCamp. ICPCCamp 有 n 个地铁站,用 1,2,-,n 编号. m 段双向的地铁线路连接 n 个地铁站,其中第 i 段地铁属于 ci ...

  8. Webservice实践(七)CXF 与Spring结合+tomcat发布

    上一节介绍了如何使用CXF 来发布服务,但是没有介绍使用web 容器来发布,很多项目需要用tomcat 这样的容器来发布.另外本节将介绍CXF 与spring 结合的方法. 一 目标: 1.利用spi ...

  9. nginx ---refine---按需时间/流量进行调整后台服务器---geocity,proxypass

    原理相当于配置文件在启动时进行编译,proxyPass http://mydomain/path/xxxx这种方式是编译成静态的,直接替换成它解析到的ip/vip,只有重新启动时才会重新解析. 而 s ...

  10. 以太坊geth主网全节点部署

    以太坊geth主网全节点部署 #环境 ubuntu 16.4 #硬盘500GB(目前占用200G) #客户端安装 # 查看下载页面最新版 # https://ethereum.github.io/go ...