一.环境

发行版: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. 【python系列】python2.x和python3.x的区别

    刚接触python使用的是python2.x的书籍,但是发现python3.x和python2.x有不小的区别,以下做一些记录 性能 Py3.0运行 pystone benchmark的速度比Py2. ...

  2. ssh-keygen 不是内部或外部命令解决办法!

    在使用 git 的远程仓库的时候,生成秘钥的使用,会遇到ssh-keygen不是内部命令也不是外部命令的问题: 具体解决: 第一步:找到:Git/usr/bin目录下的ssh-keygen.exe(一 ...

  3. JS三级联动实例

    简单的HTML实例: <h4>选择省</h4> <div class="selectSheng"></div> <select ...

  4. 字符串处理(String)

    字符串类型(String类)需要注意的几个函数: 1.字符串的连接.一般而言,Java不允许运算符直接应用到String对象,唯一的例外是"+"运算符,它用来连接两个字符串,产生一 ...

  5. MAC电脑里的休眠功能在哪里?

    Windows7和Ubuntu里都有睡眠和休眠功能,睡眠一般是指挂起到内存,电脑停止运行,数据都在内存里,只需要给内存供电,恢复时很快:休眠是指挂起到硬盘,电脑可以完全停止供电,恢复时从硬盘读取数据, ...

  6. spring的AOP个人理解和使用

    1什么是AOP:AOP是面向切面编程,也就是说面向某个功能模块编程,典型的应用就是Spring的声明式事务, Spring的AOP事务解析: 在以前的事务管理是要融合在逻辑代码中的,在逻辑代码中决定事 ...

  7. 沈阳网络赛I-Lattice's basics in digital electronics【模拟】

    42.93% 1000ms 131072K LATTICE is learning Digital Electronic Technology. He is talented, so he under ...

  8. java 中的& &&区别以及 C++ 中& &&的区别

    java中的 & &&两个运算符 (1).&在java中称做: 逻辑与 判断boolean类型,只有两者都是true时,才会返回true 举例: boolean b1= ...

  9. Golang学习-第二篇 搭建一个简单的Go Web服务器

    序言 由于本人一直从事Web服务器端的程序开发,所以在学习Golang也想从Web这里开始学起,如果对Golang还不太清楚怎么搭建环境的朋友们可以参考我的上一篇文章 Golang的简单介绍及Wind ...

  10. collision weaknesses

    15.1. hashlib — Secure hashes and message digests — Python 3.5.6 documentation https://docs.python.o ...