{eval=Array;=+count(Array);}
真搞不懂,一个初中生稍微学一下就能熟练使用的编辑器为什么很多人以为用它来写代码就是大神?
这么说,如果像linus这样,对Linux的API了如指掌(毕竟自己写的),用Vim和用IDE是一样的。但如果要调用别人的API,用vim就要花大量的时间去熟悉API,起码得把函数名背下来,要不然写几行就得去看头文件。
还有,没有语法预检查,要消耗大量的时间在编译上面,编译报错,检查,修改,再编译,再报错。。。
996就是这么来的。
------补充-------
很多程序员混淆了自由编程和商业编程。一个学生出于爱好维护一个开源项目,这是自由编程,自由编程是没有成本的,开发成本和试错成本都是零。一个公司的员工为实现用户需求开发一个项目,这是商业编程,商业编程有开发成本和试错成本,试错成本比开发成本更高,甚至是无法承受之重。举个例子,一个嵌入式程序员,开发了一款产品,销售了一百万件,用户在使用中发现了BUG,那就得一件件召回升级,这个成本是一个程序员无法承受的。很多程序员觉得那是测试部门的事,但测试部门测的是业务逻辑,程序逻辑人家连代码都看不懂怎么测,出BUG的往往就是程序逻辑。
所以,商业编程的本质就是用最小的开发成本和试错成本实现用户需求。用IDE的目的就在于此。
答案是有。我自己就在用,而且还用的很快乐。
公司的项目是纯C语言开发,代码量大概有几百万行吧,具体没算过,一套代码下载下来有十几个G。
开发环境是Linux + Windows,代码的编译主要是在Linux下面。最开始使用的是sourceinsight,可以生成函数调用关系,功能很强大。但随着负责模块的增多,si的反应速度让人难受,后面切到了vim。
在刚使用的时候,我经历了拿起又放下,又拿起又放下这样反复的过程,大概持续了十几次的样子,最终停留在了vim上。vim是需要你要去适应它定制它的。当你适应它后,会达到人剑合一的地步,指哪打哪。函数跳转,文内跳转,关键词高亮,项目内文件搜索打开,近期打开文件,符号搜索等等信手拈来。上面的优点仅仅是在编辑代码方面,还有一些额外的收获是win上面无法替代的。
没有任何一款软件能解决所有的问题,我们首先应该关注的是top级问题,发现并解决它
觉得vim不能开发大型项目的主要原因,是因为你觉得大型项目流程太多,变量太多,如果开发的软件内聚性不强,你就需要记住很多的变量和流程,同时在多个文件中来回穿梭。如果没有IDE的帮助,你就会觉得很困难。我的经验,如果你用面向对象的方式去开发软件,当你打开某个文件时,你的思维会沉浸在当前这个对象的变量和方法中,以及这个对象和相关对象的关系当中,并不需要有较多的全局思维,因此脑袋里要少装很多东西。同项目组的其他同事,大多是面向过程的思维模式,基本用的都是soure insight。我开发的软件,有上百个文件,上百个对象,我是用vim开发的,不知道算不算你心中的大项目?
vim的特别之处在于它的移动和操作方式都是利用键盘。对于编程人员来说盲打键盘是必须的,所以全部利用键盘来操作其实比借助鼠标要方便快捷。
使用vim,刚开始需要花点时间来练习快捷键,养成不用鼠标的习惯。
intellij有vim的插件。很多人在intellij上用vim的方式编辑,既可以利用intellij的提示,编译,调试功能,又可以利用vim的快捷编辑功能。不仅可以提高效率,还可以提高编程舒适度和幸福感。
那么多人在说vim开发的种种好处,就没见到几个说vim坏处的,好处就是vim敲代码比ide更流畅,写代码真的要那么快的速度,你确定你脑子转的那么快?vim真比ide好用?讲得大家差点就信了,我说这简直就是胡说八道,vim永远比不上ide开发的速度,ide有智能提示,各种检测帮助你在编码阶段消灭错误,如果你电脑卡,请买台配置高点的电脑,不要讲ide卡,压根就是两个没可比性的的东西。
当然有,但是已经非常非常少了。 开发大项目IDE可能更趁手,但是不代表vim不能用。
vim更适合用来编写独立软件。如Linux,中间件,游戏等等。
现在vscode,sublime,atom居多,这些都可以用vim快捷键,纯的vim太古老了。
至于项目大小和这些工具没有关系。甚至越大的项目,越不喜欢用ide,因为效率太低了。这些编辑工具是专门为编辑代码文本设计的,从各个方面都对代码编辑和搜索做了优化。大部分ide都做不到这么细致。
甚至visual studio 的项目一旦大了,我都是用vscode写,然后用make调用vs编译。调试用trace。不到万不得已,一定要用断点等,一般不打开VS。
如果linux下有visual studio这么好用的IDE,你还用vim吗?Windows平台就是生产力,那些上古神器一边玩去。
我从10年开始用vim,结合tmux,nerdtree,taglist,ctags,再加上开发语言所用的插件,可以实现语法自动检查,代码格式化等常用功能。你永远不会为ide占用太多资源烦恼。还有个好处,你会对常用函数掌握的很溜。开发大型项目更能体现vim的性能优势
0
回答0
回答10
回答0
回答10
回答0
回答8
回答0
回答10
回答0
回答