从昨天下午到现在一直在研究vim,初学者,从vim最基本的命令开始看起的。是通过vimtutor学习的。

看到最后一章的时候,发现原来vimtutor中的知识知识vim中的冰山一角,vim真正的强大之处就是在于程序员可以随心所欲地配置它,使它易于自己使用。据说牛逼的人配置出来的比IDE还要方便使用。

之后再网上看配置vim的方法,有很多文章中提到用Autocomplpop、ctags、OmniCppComplete这三个东西,就可以简单地讲vim配置成类似IDE环境(虽然还比不上IDE,但笔记在记事本中已经方便很多了)。

网上很多文章也都有配置和使用的方法。

在这里稍稍整理一下昨天下午到现在的成果,以免忘记,有时间再详细整理。

首先Autocomplpop,是一个.vim文件,也就是vim的插件(plugin)文件,使用这个插件,在vim中就可以自动提示和补全。

这种提示和补全就是基于单词的,它不会区分是什么编程语言,仅仅就是看单词(我是这样简单理解的)。比如说你之写过一个名为stu_number 的变量,

下次你想在此输入时vim就会随着你的输入进行提示,按下回车就可以补全。但是vim并不知道stu_number 是个什么类型的变量,它仅仅知道你之前输入过这个东西,所以在此输入的时候就可以提示。

Autocomplpop的安装方法就是;1、下载autocomplpop.vim ,2、将这个文件移动到/usr/share/vim/vim74中去,3、重启vim

其次ctags是应该是一个独立于vim的东西,他并不是vim的插件。ctags的作用是建立一章tags表,表中记录了函数定义、宏定义等,这样当看到一个函数(应该只能是自定义的),不知道他的用法时,可以按ctrl+]键跳转到函数或宏的定义处。此外ctags也支持补全,不过必须按ctrl+n快捷键。

ctags的安装方法是:yum install ctags. 安装完成后,进入源代码的目录,执行ctags-R 之后目录中生成一个tags文件,vim就是根据这个文件定位函数和宏定义的。

OmniCppComplete的使用好像就是为了使vim可以在输入一个类或者结构体,然后输入"."时可以提示成员变量和函数,并可以自动补全。

OmniCppComplete的安装方法:下载.zip包,将其解压缩到~/.vim文件夹中即可。

仅仅是粗略整理一下一天的成果,很多知识还没理解透彻,很多想法也不完善。今后在使用vim的过程中,有时间再详细整理吧

草稿-把vim变成IDE的更多相关文章

  1. 如何让vim像IDE一样一键放大缩小字号?

    原创,转载请注明出处 在其他IDE中,比如codeblocks,按住ctrl,然后滑动鼠标滚轮就可以实现字体的放大缩小. 在强大的vim中code怎么能缺少这种功能?! 在vim插件库中查询一番,发现 ...

  2. Vim配置IDE开发环境

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

  3. vim变ide

    如果你稍微写过一点代码,就能知道“集成开发环境”(IDE)是多么的便利.不管是Java.C还是Python,当IDE会帮你检查语法.后台编译,或者自动导入你需要的库时,写代码就变得容易许多.另外,如果 ...

  4. 如何用Vim搭建IDE?

    推荐:http://harttle.com/2015/07/18/vim-cpp.html 转自:http://harttle.com/2015/11/04/vim-ide.html 一年前我从Vim ...

  5. 让vim成为ide

    gvim的tabe标签页打开跟在同一个页面(标签中)打开,对buffer的影响都是一样的,都是增加新的buffer 可以认为gvim的命令行模式跟bash shell里的操作差不多 在命令行模式中通过 ...

  6. 保存vim的ide环境

    开发周期不是一两天, 要把当前的窗口布局, 命令历史/寄存器历史等保存下来,以便下次编写时快速恢复. 需要保存两个方面的信息: session: 保存窗口的view试图窗口布局, 和全局设置   :m ...

  7. vim 打造IDE

    1.MinBufExplorer 2.Ctags Ctags工具是用来遍历源代码文件生成tags文件,这些tags文件能被编辑器或其它工具用来快速查找定位源代码中的符号(tag/symbol),如变量 ...

  8. VIM配置IDE

    转载于:https://blog.csdn.net/andre617/article/details/53496490#%E8%84%9A%E6%B3%A8 由于YCM需要vim支持python,需要 ...

  9. vim 编辑器IDE版

    wget https://raw.github.com/ma6174/vim/master/setup.sh -O ma6174_vim_setup.sh && bash ma6174 ...

随机推荐

  1. 如何注册GitHub

    一.个人介绍 姓名:张志龙 学号:1413042026 班级:网工141 爱好:宅物 能力:c++编程 二.注册 注册GitHub其实很简单 首先我们要做的是打开官网 www.github.com(如 ...

  2. 理解mvn命令

    mvn clean package依次执行了clean.resources.compile.testResources.testCompile.test.jar(打包)等7个阶段. mvn clean ...

  3. php留言系统(9)

    1.参照之前的(mvc框架总结)将整体框架定下来之后,那么请求默认参数将变为: //默认请求首页: //P=front //C=fIndex //A=show 1.1     找到控制器fIndexC ...

  4. 【timeisprecious】【JavaScript 】JavaScript RegExp \W 元字符

    JavaScript>RegExp正则表达式> \W 元字符 1 .From Runnob JavaScript RegExp \W 元字符 定义和用法: \W 元字符用于查找非单词字符. ...

  5. BZOJ3210: 花神的浇花集会(坐标系变换)

    题面 传送门 题解 坐标系变换把切比雪夫距离转化为曼哈顿距离 那么对于所有的\(x\)坐标中,肯定是中位数最优了,\(y\)坐标同理 然而有可能这个新的点不合法,也就是说不存在\((x+y,x-y)\ ...

  6. javascript获取网址参数

    通过以上图片,就可以很好的理解: location.href location.protocol location.host location.hostname location.port locat ...

  7. AngularJS入门讲解4:多视图,事件绑定,$resource服务讲解

    上一课,大家知道,手机详细模板我们没有写出来,使用的是一个占位模板. 这一课,我们先实现手机详细信息视图,这个视图会在用户点击手机列表中的一部手机时被显示出来. 为了实现手机详细信息视图,我们将会使用 ...

  8. pickle 模块学习 常用方法

    内容提要: 1: pickle的主要作用 pickle主要用于python 于python 之间进行文件传出,网络传输 他同json 一样也是有4个函数 pickle.dumps(iterable)  ...

  9. Lucene7.4学习和简单使用

    简述: 前面从新回顾学习了Solr,正好也借此机会顺便学习一下Lucene. 一.什么是Lucene? 全文检索的一个实现方式,也是非结构化数据查询的方法.应用场景:在数据量大,数据结构不固定的时候, ...

  10. 第一个PSP0级

    1.计划: 需求描述: 按照图片要求设计添加新课程界面.(0.5分) 在后台数据库中建立相应的表结构存储课程信息.(0.5分) 实现新课程添加的功能. 要求判断任课教师为王建民.刘立嘉.刘丹.王辉.杨 ...