从昨天下午到现在一直在研究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. PHP全栈学习笔记19

    thinkphp框架是一个免费的,开源,快速,简单的面向对象的轻量级PHP开发框架. 了解什么是thinkphp概述,thinkphp项目目录结构,thinkphp的控制器,视图,thinkphp项目 ...

  2. Solr中的一些查询参数

    fl: 是逗号分隔的列表,用来指定文档结果中应返回的 Field 集.默认为 “*”,指所有的字段. defType: 指定query parser,常用defType=lucene, defType ...

  3. win10下安装配置iis,发布iis

    老有朋友不会配置iis跟发布iis,今天整理一下,欢迎参考借鉴 打开控制面板 找到 程序 点击程序  找到启用或关闭windows功能 在windows服务中找到 Internet Informati ...

  4. Winfrom PictureBox 设置图片自适应

    初始状态 Bitmap bm = new Bitmap(Image.FromStream(System.Net.WebRequest.Create(new Uri(result.Result)).Ge ...

  5. C#基础笔记(第二十二天)

    1.单例模式1)将构造函数私有化2)提供一个静态方法,返回一个对象3)创建一个单例 2.XML可扩展的标记语言 HTMLXML:存储数据 不是单独.net的东西,是一个单独的,JAVA什么的都也用不需 ...

  6. 部署网络存储ISCSI

    1.什么是ISCSIInternet Small Computer System Interface 互联网小型计算机接口技术,是一种将SCS存储与以太网技术相结合,可以用来在互联网中传输SCSI接口 ...

  7. mysql 批量更新的四种方法

    批量更新的方法: 1 ) 逐条更新 代码如下: UPDATE mytable SET myfield = 'value' WHERE other_field = 'other_value'; 如果更新 ...

  8. java学习笔记—JDBC1(16)

    1.数据持久化 l  持久化(persistence):把数据保存到可掉电式存储设备中以供之后使用,也称为“固化”.在大多数情况下,服务器或客户端应用中数据的持久化是通过关系型数据库来实现 l  存储 ...

  9. Elastic Search 5.x Nest Multiple Queries C#

    I'm using C# with those nuget packeges; <package id="Elasticsearch.Net" version="5 ...

  10. [科普] 借助 everything 扩展教你屏蔽网址或转发网址

    教你屏蔽网址或转发网址 万恶之源 为什么写这篇文章,俺觉得大家应该是有这个需(bai)求(du)的.只是不知道如何操作... 一.屏蔽网址 1.借助系统自带防火墙 (不推荐) Linux 下有 ipt ...