首页 > 代码库 > 打造超级VIM-IDE nerdtree ctags cscope a omnicpp python 乱码 tab 主题
打造超级VIM-IDE nerdtree ctags cscope a omnicpp python 乱码 tab 主题
俗话说,工欲善其事,必先利其器,去年开始做Linux C开发的时候,要SOURCE INSTGHT,eclipse,qt creator等开发工具上整了好久之后,没有一个合心意的,最后听说VIM,和EMACS加上插件之后会比较好用,但需要一个很漫长的上手时间,但还是比较想长期从事Linux方面开发的,另外即使在windows上也可以代替source insight来阅读ffmpeg的源码,转战vim,经过用了一年的时间终于将VIM打造成了至少让我觉得比source insight更顺手的程度。所有配置文件已经在github上共享出来。个人建议,如果不是想长时间做Linux上的开发,我觉得source insight通过samba服务来写Linux上的代码其实足够了。如果想在任何环境下,都可以游刃有余的玩转Linux里的C/C++代码,我觉得用我目前打造的这个VIM已经相当够用了。虽然把这个VIM直接装上比较容易,使用到觉得比SOURCE INSIGHT更顺手的程度肯定不是一两天的事。
目录
缘起
版本支持
使用范围
使用方法
相对于原生VIM定制的内容
新增快捷键
已知不足
交流
缘起
刚开始做Linux C/C++的时候试了很多编辑方式,包括:
souce insight:通过Linux上的samba服务去写Linux主机里的代码(我觉得不通过定制版的vim和emacs之外最好的选择,一方面不需要打开虚拟机界面,另一方面souce insight写代码也确实挺好用的。
eclipse:很好用,但不得打开Linux图形界面,另外eclipse运行很慢,尤其大项目
qt creator:即使不是QT项目,当然也可以在Linux图形界面用QT CREATOR写代码,比eclipse运行快,当然如果是Linux下的QT项目当然QT creator也是首选。
VIM与EMACS:作为开发环境都要加跳转及自动补全类的插件。它们虽然功能上可能并没有其他IDE境强大,但其他IDE都需要打开很耗资源的图形界面,另外VIM和EMACS有很多其他IDE都不具备的好处,比如所有操作都不需要鼠标,能一键搜索等。另外它们都可以直接ssh到Linux主机然直接使用,缺点在于上手起来都较不容易。VIM与EMACS都可以无界限的加任何功能的插件,理论在一个上面能实现的功能在另一个上面一定能实现,不存在谁比谁强大的问题。从基本操作上个人还是更喜欢emacs,但因为折腾emcas插件比vim更难所以选择了vim。
这个VIM的定制是在一年的时间里逐渐完善起来的,其中一段时间转了emacs,后来折腾cedet实在没折腾不完善,也找不到谁用能交流下,所以最终回到了vim。这个vim定制的原则是尽量保持精简快速与更好的兼容性,但实现更多更强更实用更加人性化的功能。
版本支持
7.2及以上,暂未发现有兼容性问题情况。7.2以下版本的vim我没有见到过。
使用范围
作为c/c++和python开发,会有意想不到的效果,对shell脚本开发也还行,对于一般配置文件的修改或许会比原生好点,至少不会有变差的地方。
使用方法
把.vimrc和.vim文件夹拷贝到自己的家目录下就可以了。如果要用索引功能要装ctags和cscope,在ubuntu下安装apt-get install ctags && apt-get install cscope即可。在其他发行版这两个软件的包名一般也一样是ctags和cscope。
相对于原生VIM定制的内容
1.语法着色
2.desert主题
在背景在白色的情况下要改下配置文件里的background选项
3.设置256色显示模式
在终端支持256色的情况下才会显示的更好看。如果终端是8色的,那么显示的颜色不如将256色的设置去掉好看。screen下默认是8色,要改下screenr的配置脚本。
4.状态栏永久显示,屏幕右下角显示标尺
有些人喜欢每一行前加行号,但我一般不用,主要是状态栏上已经有了当前光标所在的行列。
5.显示对应括号
6.tab长度设置成4,另外将tab显示成坚线,在写python的时候很有用
7.设置自动选择utf8和cp936模式,减少出现乱码的可能
8.设置成非兼容VI模式
9.更好用的回退键
10.修正C++ class下public等标识符的缩进
11.增加NERD TREE文件列表功能
这个插件的功能非常强大,作为一个文件树只有你想不到的功能,没有它实现不了的功能。在原功能的基础上我添加了一个"w"快捷键,功能是使窗口宽度在固定宽度和最长行宽度之间切换。按F2键激活插件,具体使用请百度或谷歌。
12.增加tagbar函数列表功能
强大到不逊于任何一个开发环境的函数及变量列表
13.增加ctags及cscope索引
ctags和cscope的快捷键自己百度或谷歌,使用方式是在工程根目录下运行vim,之后按F5更新索引,然后就可以使用快捷键进行跳转了。我一般使用都是用ctags做定义的跳转,cscope用作查找一个单词在工程中所有出现的位置。
15.增加注释插件
支持的语言有N种,在它支持的语言范围内,"\cc"三个键可以注释当前行,如果某些行已经选中,那么将注释那些选中行。“\cu“用于反注释,用法一样。
16.增加omnicpp自动补全插件
vim的C/C++自动补全插件有很多,但这个很精简,包括CPU占用和物理文件占用。虽然功能更强大的,但配置复杂,而且可能兼容性不好。这个至少对于我来说够用了。这个补全在C/C++下在输入"."或"->“后会自动弹出可选择列表,python的自动补全我没有加新的插件,因为一般VIM安装都会自带PYTHON的补全插件,而且也相当强大了。只要在.可->后按c-x x-o就可以了,有些情况下机器上的VIM可能没有编译进PYTHON模块,那没有办法了。
17.增加头文件和实现文件切换的功能
快捷键是<F4>
18.增加搜索快捷键
可以一键显示出光标下单词在本文件中出现的次数和列表。
快捷键
F2 目录树
F3 函数列表
F4 头文件和实现文件切换
F5 更新ctags和cscope
F6 更新cscope
F7 在这个文件下搜索光标下单词以列表的形式显示
F8 关闭F7所打开的列表
F9 运行python
F10 退出vim
c-h, j, k, l可以在各个窗口间切换
已知不足
1.在文件未保存的情况下不可以跳转到其他文件
2.ctags在文件编码与终端编码不相同且跳转行有中文的情况下无法跳转
代码请看这里。https://github.com/langsim/VIM-IDE,觉得好的给点个星星哈。
代码请看这里。https://github.com/langsim/VIM-IDE,觉得好的给点个星星哈。
打造超级VIM-IDE nerdtree ctags cscope a omnicpp python 乱码 tab 主题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。