从昨天下午到现在一直在研究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. 通过代码去执行testNG用例

    背景 用testNG去编写的测试用例,通过@Test去执行用例,一般本地都是通过IDE去执行相应的方法,持续集成的话,都是通过maven来执行或指定testNG.xml执行,但是如果想通过接口/界面去 ...

  2. 修改chrome插件

    背景 例子为:ModHeader插件,顾名思义可以修改request header的插件,官方地址为:https://chrome.google.com/webstore/detail/modhead ...

  3. k8s service

    Service也是k8s的最小操作单元,是真实应用服务的抽象 Service通常用来将浮动的资源与后端真实提供服务的容器进行关联 Service对外表现为一个单一的访问接口,外部不需要了解后端的规模与 ...

  4. linux网络流量实时监控工具之iptraf 【个人比较喜欢用的流量监控软件】

    linux网络流量实时监控工具之iptraf IPTraf是一个网络监控工具,功能比nload更强大,可以监控所有的流量,IP流量,按协议分的流量,还可以设置过滤器等,如下图 对监控网络来说,这个更适 ...

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

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

  6. BZOJ 1834--网络扩容(最大流&费用流)

    1834: [ZJOI2010]network 网络扩容 Time Limit: 3 Sec  Memory Limit: 64 MBSubmit: 3351  Solved: 1750[Submit ...

  7. 《快学Scala》第三章 数组相关操作

  8. LG的nexus5(32GB版本 - 821)-TOT-底包 可用于救砖!

    LG的nexus5(32GB版本 - 821)-TOT-底包 底层修复效果完美,通过LGflashTool1.8直接刷进去就行~ 底包下载: https://pan.baidu.com/s/1Z5WD ...

  9. [Objective-C语言教程]错误处理(22)

    在Objective-C编程中,错误处理由Foundation框架中提供的NSError类提供处理. 与仅使用错误代码或错误字符串相比,NSError对象封装了更丰富且更具可扩展性的错误信息. NSE ...

  10. Jmeter Plugins----- Transactions per Second 配置项

    Jmeter Plugins---version 0.5.5 官方解释: Transactions per Second since 0.3.0 This graph shows the number ...