首页 > 网络文摘 > 正文
俗话说,工欲善其事,必先利其器,去年开始做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,觉得好的给点个星星哈。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。
可爱穿搭很重要
工藤美樱写真集
斯米兰海水是真不错
海边想拍氛围照
海岛度假
甜妹 ootd 穿搭
在大的理日就子是在海洱边发发呆
7080后儿时集体回忆插画
西安子午峪满山的白杜鹃太美了
职业模特拍摄省事很多
浙江苍南城管打人致其吐血 引近千群众围观
男子用煤气罐挟持怀孕女友致2伤
普京政敌、俄罗斯前副总理遭枪杀
惠州海滩试拍
冯小刚24岁女儿近照曝光 叼烟表情逗趣
传说中的汗血宝马
美国成人展
2014全国职院模特大赛众佳丽秀完美身材
60后大叔成功求婚90后萝莉
乌克兰美女演员伊莉沙
黄海波事件的女主角
美国罕见单羊膜双胞胎女婴牵手出生
国外甜美金发MM
贤淑贤惠的妹妹
青岛旅行海滩试拍
海边比基尼彰显苗条身材
全球15万女性同秀旗袍 挑战吉尼斯世界纪录
海滩试拍
马斯克:只要自动驾驶足够给力,特斯拉可以零利润卖车
乌克兰芭比娃美女
中国美女城市排行:哈尔滨第一 北京未入榜
中戏艺考美女PK传媒艺考美女 都百里挑一
车模精选
广西桂平石龙镇的5月22日车祸事故
亚太比基尼精选