【linux】如何将Vim打造成一个成熟的IDE
如果你稍微写过一点代码,就能知道“集成开发环境”(IDE)是多么的便利。不管是Java、C还是Python,当IDE会帮你检查语法、后台编译,或者自动导入你需要的库时,写代码就变得容易许多。另外,如果你工作在Linux上,你也会知道Vim在进行文本编辑的时候是多么的方便。所以,你可能会想从Vim中也获取这些IDE特性。
事实上,很少有方法可以帮你做到。有些人可能会想到试着把Vim打造成C语言IDE的,比如c.vim;也有把Vim集成到Eclipse里的Eclim 。但是我想要告诉你的是一个更加通用的,只用插件实现的方案。你肯定不想因为安装了太多的面板和特性而让你的编辑器变得臃肿不堪。只用插件实现的方案可以让你只选择那些你想要集成到Vim的特性。这样做的额外的一个好处是,这个IDE不是专门针对某一种语言的,可以让你写任何类型的代码。下面就来看一下我的 把IDE特性带进Vim的前10款插件 吧。
先来个福利: Pathogen
首先,可能不是所有人都熟悉Vim的插件,并知道该怎么安装这些插件。所以,我推荐的第一个插件就是Pathogen,因为这个插件会让你更容易安装其他插件。如果你要安装另外的没有在这里列出来的插件,用Pathogen会变得非常简单。它的官方页面的文档写的非常好,去下载安装一个吧。接下来插件的安装也会变得容易很多。
1. SuperTab

我们习惯于IDE的第一个原因就是它的自动补全功能。所以,我喜欢这个非常方便的,给了Tab键“超能力”的 SuperTab 插件。
2. Syntastic

如果你需要使用一种以上的语言进行编程,有时候是非常容易混淆不同语言之间的语法的。幸运的是,syntastic 会帮你检查,然后告诉你是否应该加上圆括号或者方括号,或者告诉你在某个地方,你忘了一个分号。
3. Auto Pairs
另外一件让程序员们抓狂的事是:我是不是少加了最后一个括号?!每个人都讨厌用手指去数那些隔的非常远的括号。为了处理这个问题,我用 Auto Pairs 插件,这个插件会自动插入和格式化方括号和圆括号。
4. NERD Commenter
如果你在找一个可以支持多种程序语言的注释代码的快捷键,你可以试试 NERD Commenter。即使你不是程序员,我也非常非常推荐这款插件,因为它会让你在注释bash脚本或者其他任何东西的时候都会变得非常高效。
5. Snipmate
任何一个程序员都知道,好的码农写代码,杰出的码神重用代码。snipmate可以容易的插入代码片段到你的文件里面,大大的减少了你敲键盘的次数。它默认的包含了很多各种语言的代码片段,你也可以非常容易的添加你自己的。
6. NERDTree

管理一个大的项目时,把代码分散到不同的文件里面是非常好的主意。也是一个基本的编码原则。NERDTree 是一个不错的可以直接在Vim里使用的文件浏览器,它可以让你随时想到所有的文件。
7. MiniBufferExplorer

为了打造一个文件浏览器,支持同时打开多个文件,没有什么比一个好的缓冲区管理器更重要了。MiniBufferExplorer 就可以非常漂亮和高效地完成这个工作。它甚至为你的缓冲区设置了不同的颜色和切换快捷键。
8. Tag List

当你同时有多个文件打开时,很容易忘了你都在这些文件里添加了什么。为了防止你忘记,Tag List 这个代码查看器将会用一种漂亮简洁的格式展示其中的的变量和函数。
9. undotree

对于我们之中那些喜欢undo,redo然后又undo某些更改,然后依据这些来查看整个编辑完成过程的人来说, undotree 是一个不错插件,可以以一棵树的形式看到你的undo和redo历史。这个功能跟代码完全没有关系,所以这是我非常喜欢的一个插件。
10. gdbmgr
最后,但并非不重要,每个人都在某个时刻需要一个调试器。如果你喜欢gdb,那么gbdmgr就是为你准备的,因为它集成了那个著名的调试器到Vim中。
总结一下,不管你是不是一个疯狂的coder,能有一些额外的Vim功能在手总是非常方便的。像我在简介里说到的,如果你不需要,你不用安装这里所有的这些插件。或者你想要安装另外的也行,这些其实只是一个基础入门级的插件。
你在用Vim的什么插件?或者你想完善这个前10列表么?请在评论里告诉我们吧。
转自:http://linux.cn/article-3314-1.html
【linux】如何将Vim打造成一个成熟的IDE的更多相关文章
- 手把手教你把VIM改成一个集成开发环境
转载自:http://blog.csdn.net/wooin/article/details/1858917 在原文基础上经过自己验证,修改和完善 OS:Fedora19 VIM:VIM7.4 一.写 ...
- 5.Linux系统的vim与软件包管理
5.1 Linux系统的vim编辑器 5.1.1 vim编辑器的概述 vim编辑器的简介 1.vim是什么? vim是一个类似vi的文本编辑器,它在vi的基础上增加了很多新特性 vim是vi发展出来的 ...
- 使用vim打造python-ide
一.前言 一直希望在linux下进行python开发,但是linux不想启动图形化界面,所以干脆直接用上了万能的VIM,用VIM打造了属于自己的python-IDE 二.插件 标签导航(tagbar和 ...
- Linux基础入门 vim常用命令详解
介绍 vim是一个文本编辑程序 没有菜单,只有命令,且命令繁多 命令行模式下相关命令 移动光标 h: ← 左移 l: → 右移 j: ↓ 下移 k: ↑ 上移 gg: 光标移动文件 ...
- Linux下面对于VIM编辑器的代码折叠使用与screen
VIM设置代码折叠 1. 折叠方式 可用选项 'foldmethod' 来设定折叠方式:set fdm=*****.有 6 种方法来选定折叠: manual 手工 ...
- Linux系列教程(十)——Linux文本编辑器vim
通过前面几篇博客我们终于结束了Linux常用命令的介绍,Linux常用命令主要包括以下: ①.Linux文件和目录处理命令 ②.Linux链接命令和权限管理命令 ③.Linux文件搜索命令 ④.Lin ...
- 【转】Linux上vi(vim)编辑器使用教程
Linux上vi(vim)编辑器使用教程 ------------------------------------------------------------ ikong ------------ ...
- linux文本编辑器vim大全
linux基础之vim编辑器 1.vim编辑器 基本介绍 vim编辑器的前身叫做vi.vi的英文名:Visual Interface.中文解释文本编辑器,你不应该用他去打开二进制可执行文件 文本编辑 ...
- Linux文本编辑器vim
目录 1.vim 的工作模式 2.插入命令 3.定位命令 4.删除命令 5.复制和剪切命令 6.替换和取消命令 7.搜索和搜索替换命令 8.保存和退出命令 9.vim 高级操作 10.总结 通过前面几 ...
随机推荐
- 关系型数据库与NOSQL(转)
出处:http://www.cnblogs.com/chay1227/archive/2013/03/17/2964020.html 关系型数据库把所有的数据都通过行和列的二元表现形式表示出来. 关系 ...
- Servlet中使用Log4j2
因为Servlet常用的版本有两个,即2.5与3.0.要在web application中使用Log4j2,还需要加入log4j-web的jar包.log4j通过web.xml中的context参数l ...
- 无需部署的轻量级数据库—SQLLite,使用Demo
当有程序需要保存轻量数据,而又烦躁序列化到本地的不便,轻量级数据库—SQLLite是一个很好的选择,只需引用System.Data.SQLite.DLL,无需部署数据库,便可像拥有数据库一样保存数据, ...
- Python成长笔记 - 基础篇 (二)python基本语法
Python的设计目标之一是让代码具备高度的可阅读性.它设计时尽量使用其它语言经常使用的标点符号和英文单字,让代码看起来整洁美观.它不像其他的静态语言如C.Pascal那样需要重复书写声明语句,也不像 ...
- 在Ubuntu全局安装express报错:Error: EACCES, mkdir '/usr/lib/node_modules/express'的解决办法
$ npm install -g express npm ERR! Error: EACCES, mkdir '/usr/lib/node_modules/express' npm ERR! { [E ...
- vscode调试HTML
使用 live-server npm i -g live-server 注:最好还是把live-server安装成全局,这样在使用时整个项目就是一个站点. Ctrl+` 进入命令行终端 打开帮助提示: ...
- 不制作证书是否能加密SQLSERVER与客户端之间传输的数据?
不制作证书是否能加密SQLSERVER与客户端之间传输的数据? 在做实验之前请先下载network monitor抓包工具 微软官网下载:http://www.microsoft.com/en-us/ ...
- Xamarin.Android之下拉刷新
一.前言 当今任何一个App中只要存在列表,基本上都会使用下拉刷新,而身为Xamarin一族的我们自然也不会落后,下面笔者将带领大家在Xamarin下实现Android中的下拉刷新的效果. 二.准备工 ...
- Android开发学习总结——Android开发的一些相关概念
一.什么是3G.4G 1995年问世的第一代模拟制式手机(1G)只能进行语音通话. 1996到1997年出现的第二代GSM.CDMA等数字制式手机(2G)便增加了接收数据的功能 3G指的是第三代移 ...
- 抢小米软件html版(简单有效)
地球人都知道小米性价比高,大家都很期待,但是抢小米却是一件很头疼的事. 本来抢的人就多,还有一些大牛.黄牛使用软件来抢,人家有成百上千台电脑,开上几万个线程,很难抢过人家... 小菜分享一款简单的小米 ...