将vi打造成IDE
一.环境
发行版: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的更多相关文章
- 用 for/in 在 Java 5.0 中增强循环
这个方便的构造提供了什么?什么时候适用于代码? Brett McLaughlin (brett@newInstance.com), 作者/编辑, O'Reilly Media, Inc. 简介: fo ...
- [Mac A]为什么国外程序员爱用 Mac?
from http://www.vpsee.com/2009/06/why-programmers-love-mac/ Mac 在国外很受欢迎,尤其是在 设计/web开发/IT 人员圈子里.普通用户喜 ...
- 【转】windows和linux中搭建python集成开发环境IDE
本系列分为两篇: 1.[转]windows和linux中搭建python集成开发环境IDE 2.[转]linux和windows下安装python集成开发环境及其python包 3.windows和l ...
- 10 款最好的 Python IDE
Python 非常易学,强大的编程语言.Python 包括高效高级的数据结构,提供简单且高效的面向对象编程. Python 的学习过程少不了 IDE 或者代码编辑器,或者集成的开发编辑器(IDE).这 ...
- 将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 ...
- 【转】手把手教你把Vim改装成一个IDE编程环境(图文)
手把手教你把Vim改装成一个IDE编程环境(图文) By: 吴垠 Date: 2007-09-07 Version: 0.5 Email: lazy.fox.wu#gmail.com Homepage ...
- VI经典插件ctags
Vi经典插件ctags(转) (为了提高工作效率,必须学会使用一些工具) . 查看 key 相关信息说明的命令 :help keycodes ============================= ...
- 最好的Java IDE之争:Eclipse PK IntelliJ IDEA
话说,好马配好鞍,一个好的工匠,必定要有一套好的工具才能打造出最好的工艺给大家.之前,Plumbr团队里的所有成员都使用Eclipse编辑器,而如今,大家都成为IntelliJ IDEA用户.那么,到 ...
- ADF_Starting系列1_JDeveloper IDE开发环境简介
2013-05-01 Created By BaoXinjian
随机推荐
- web基础---->java邮件的发送
这里记录一下关于java邮件发送代码的编写.你在我身边也好,在天边也罢,想到世界的角落有一个你,觉得整个世界也变得温柔安定了. java邮件的发送 一.直接贴出代码,如下: package com.c ...
- ExtJS学习
ExtJS是一门比较纠结的框架,自己不太熟,因为现在在做一些老项目,所以没办法要学点.记录下.其实Ext也不是很难,主要是多查查API,了解其基本的用法,然后慢慢去学习,学成之后做管理系统还是很有优势 ...
- 重新来认识你的老朋友Spring框架
欢迎查看Java开发之上帝之眼系列教程,如果您正在为Java后端庞大的体系所困扰,如果您正在为各种繁出不穷的技术和各种框架所迷茫,那么本系列文章将带您窥探Java庞大的体系.本系列教程希望您能站在上帝 ...
- mysql中or和in的效率问题
分三中情况进行测试,分别是:第一种情况:in和or所在列为主键的情形.第二种情况:in和or所在列创建有索引的情形.第二种情况:in和or所在列没有索引的情形.每种情况又采用不同的in和or的数量进行 ...
- python2在安装pywin32后出现ImportError: DLL load failed 解决方法
python2在安装pywin32后出现ImportError: DLL load failed 解决方法 在python2中有时候会出现: import win32api ImportError ...
- Tomcat部署静态网站
公司架构:公司架构有5套,主机都是阿里云的ecs,基本上都是SLB做前端负载均衡,后端Tomcat,后接RDS数据库. 业务需求:需要将公司现有网站指向一个二级域名,建立一个新的静态网站,将域名指向现 ...
- Java中实现序列化的两种方式 Serializable 接口和 Externalizable接口
对象的序列化就是将对象写入输出流中. 反序列化就是从输入流中将对象读取出来. 用来实现序列化的类都在java.io包中,我们常用的类或接口有: ObjectOutputStream:提供序列化对象并把 ...
- jenkins之jenkins与gitlab集成
实现当git代码使用push的时候自动构建 安装gitlab钩子插件 安装令牌认证插件 在主机上面生产token(其实随便弄一个简单的字符串也可以) openssl rand -hex 10 修改任务 ...
- 青岛网络赛J-Press the button【暴力】
Press the Button Time Limit: 1 Second Memory Limit: 131072 KB BaoBao and DreamGrid are playing ...
- rk3188 双屏异显分析
首先是android层: PhoneWindow.java 中加入了GestureDetector成员, 来实现全局滑屏手势监听 onFling方法中,调用了mDecor.getRootWindo ...