首页 > 网络文摘 > 正文
俗话说,工欲善其事,必先利其器,去年开始做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后儿时集体回忆插画
西安子午峪满山的白杜鹃太美了
职业模特拍摄省事很多
女子占座被指责 飞踹老人
香港团体再次发起反水货客游行 33人被捕
深圳宝安机场一奔驰失控撞向行人 致9死23伤
赵忠祥5亿豪宅再次曝光
乌克兰美女领导克里米亚辛菲罗波尔
全球最贵 劳斯莱斯SUV或定名“库利南”
泰国地下女子裸体泰拳比赛照曝光
2014春南宁车展部分模特
乌鲁木齐一早市发生爆炸
李敏镐图片精选
中国美女城市排行:哈尔滨第一 北京未入榜
鲁迅先生书法手稿真迹
1927年第五次索尔维物理会议
北海银滩试拍
北京车展美女礼仪一览
图揭全国校花排行榜 清纯可爱美貌爆表
住在寺庙里的高州孤儿谢树华
青岛旅行海滩试拍
凯特二胎生公主 圆婆婆戴安娜王妃生女遗愿
马斯克:只要自动驾驶足够给力,特斯拉可以零利润卖车
乌克兰芭比娃美女
中戏艺考美女PK传媒艺考美女 都百里挑一
车模精选
广西桂平石龙镇的5月22日车祸事故
亚太比基尼精选