Ⅰ 《Vim实用技巧第2版》pdf下载在线阅读全文,求百度网盘云资源
《Vim实用技巧第2版》网络网盘pdf最新全集下载:
链接:https://pan..com/s/1S0zesrtBqP0sdxY9rVw0Ig
Ⅱ vim的机会发展
程序员职业生涯发展到一定程度都会面临一个选择,是走业务+技术方向,还是选择纯钻研技术。程序员职业生涯发展的问题,这是所有程序员都在关心的问题,未来究竟要怎么走,30岁之后还能不能再做程序员。
绝大多数程序员最终的职业目标可能都是CTO,做到CEO的人估计会比较少,也有一少部分人自己去创业去当老板,也有部分人转行了,当老板的人毕竟是少数,转行的人都不在这行做了,自然没什么好说的了。一般来说,程序员的发展基本上都会经历这么几条路径。程序员——系统分析员——架构师——技术经理——CTO,程序员——项目组长——项目经理——项目总监——CTO,程序员——产品设计师——产品经理——CTO。
当然这只是一个大致的路径,不是所有程序员都必需要这么经历的,有些人可能跳过其中的一些步骤,也可能有些人会把中间的很多职位都做了。而最终做到CTO的程序员,也是非常少的一部分,原因很简单,这个世界上不许要那么多的CTO和CXO。
也就是说,许多的程序员最终可能是做技术经理、项目经理或者项目总监之类的,那么到底我们职业生涯要选择哪一种呢?我觉得这个问题没有一个统一的答案,因为每个人的性格不一样,际遇也不一样,就像你从小希望当贪官,可是命运却偏偏让你做了一个程序员。所以应该根据你的兴趣、性格与际遇选择一条道路,比如说你正好有机会带一个项目,而你又不是很讨厌项目经理这个位置,那么你就可以选择向项目经理方向发展。
实际上很多时候,有些公司并没有明确的技术经理、项目经理、产品经理之分,在许多的公司里,他们经常是由一个人承担。在外包公司里,通常会有项目经理和系统分析员(也可能是技术经理)。在一些非IT公司里,可能会是部门经理,而做自己产品的公司可能会分得比较详细一些。我大致说一下这三个职位的区别,让正在徘徊的程序员有一个大致的了解。
项目经理是项目的直接负责人,这个角色相当于一个中间接口,不管是团队成员还是需求方(客户),或者是上级领导,有事都直接找他,所以这个职位着重于管理与沟通。一般来说,项目经理的工作重点在同客户沟通需求、项目进度的把控、团队的沟通方面,有些公司也会需要项目经理承担团队建设的工作,不过貌似很多国内公司都忽略了团队建设这个工作了。对于项目经理来说,重点会要求沟通能力、协调能力、危机把控能力、执行力、团队管理能力,着重于沟通、管理与计划。当然也有些公司还要求项目经历要参与招标谈判,这就要求项目经理有一定的商务谈判能力。
技术经理有时候也可能叫系统分析员,一些小公司可能会整个部门有一个技术经理。技术经理承担的角色主要是系统分析、架构搭建、系统构建、代码走查等工作,如果说项目经理是总统,那么技术经理就是总理。当然不是所有公司都是这样的,有些公司项目经理是不管技术团队的,只做需求、进度和同客户沟通,那么这个时候的项目经理就好像工厂里的跟单人员了,这种情况在外包公司比较多。对于技术经理来说,着重于技术方面,你需要知道某种功能用哪些技术合适,需要知道某项功能需要多长的开发时间等。同时,技术经理也应该承担提高团队整体技术水平的工作。
产品经理这个职位一般在有自己产品(不管是软件还是网站产品)的公司比较常见,产品经理主要会负责产品的设计、产品的改良等工作。需要注意的是,产品设计与设计师是两个不一样的工作,产品设计主要会从用户体验、业务需要等层面去设计产品,而设计师更多是从用户的视觉上去做。产品经理应该是最懂业务的人,比如说你在设计一个微博的产品,就要求你对微博这个东西非常熟悉,从用户习惯、用户体验、公司的发展战略上去设计这个产品,还要对比同类产品会有什么优势等等。
不管是项目经理还是技术经理与产品经理,都要求要熟悉业务,业务是需求的来源,没有不谈业务的技术,所以不管你从哪个方向发展,都要求对业务熟悉。产品经理要求对业务最熟悉,项目经理次之,技术经理排最后。对于程序员来说,刚开始工作的前几年可以埋头扎到技术里面,一般这个时间在2-3年的时间,然后就应该多关注业务了。这个业务不一定是指某个具体的业务,因为具体的业务的范围太少,而且也需要机遇。
Ⅲ 为什么不少程序员极度推崇 Vim 和 Emacs,却对 IDE 嗤之以鼻
我接触VIM也已经5、6年了,已经习惯了VIM的存在和使用。但是我们应该抱着学习的心态去看待它。起初学习linux和Vim, 这是说,纯粹的虚荣或逆反心理时期,在Linux和vim的时候一知半解,但总是对同学说,活力好,其他编辑都是人渣。当然在IDE的时候还存在着崇拜,但偶尔听到神说,IDE会让人屏蔽很多细节,IDE什么都是你做的,你会变笨的。从那时起就有了IDE,功能非常强大,但更利于学习,学生当然学习,慢慢开始拒绝IDE…
目前,我正在开发iOS,这相当于跳槽,直接去其他行业。此时,已经完成了它的任务,这是完全无关的两个。它可以通过Xcode可以完成的事情,从项目的创建,自动添加所需的库,自动错误代码,最后上传包签名。有些人会争辩说,这些在Mac OS X将能够使用命令行。我想说的是,该怎么办呢?命令行应用程序写入到您使用的前几行列表中?无论如何,我现在Xcode +斯玟姆插件,在编写程序的时候,或Vim的习惯,使用Xcode功能做其他事情的时候,这不是两全其美,效率也很高。现在我愿意参与VIM或IDE牛逼的牛逼的“圣战”,探讨如何应用或者游戏实现总榜单的前10我有一个兴趣点。
总结:
记得,如果一个人总是说Vim或Emacs IDE arescum牛逼不怪他,先看看他在做什么,如果他能用什么Linux kernel IDE,可以鄙视他;如果他促成了开放源代码的Linux贡献XX,XX码,牛人有牛的道理,妄想能改变世界;但如果他从事什么框架或java,如C #,Vim和Emacs不折腾自己,不如看看如何做自己的工具。事实上,这些都是工具,可以用工具来支撑自己,甚至帮助别人,世界能贡献的不是更重要的东西吗?当我年轻的时候,在外观上,与他们使用的工具,使用Vim Emacs来证明他的可怕的事情太正常了,因为他们还年轻,不是一些真实的东西来证明。
最后:
如果让我选择用Vim还是IDE来证明自己, 我当然是愿意用Vim. 因为Vim才是我喜欢的范, 但是如果别人用IDE来证明了自己, 我也同样会拍手叫好, 因为他们已经证明了, 用什么重要么?
Ⅳ 为什么不少程序员极度推崇 Vim 和 Emacs,却对 IDE 嗤之以鼻
起初学习Linux和Vim, 纯粹是虚荣心或者说那个时期叛逆心理的作用, 当时对Linux和Vim一知半解但是总是对同学说, Vim多好多好, 其它编辑器都是渣渣. 当然当时对IDE还存在着崇拜心理, 只不过偶尔听到某某大神说, IDE会让人屏蔽很多细节, IDE什么都帮你做了, 你会变傻的. 从那时就有了一种, IDE挺强大, 但是Vim更利于学习, 学生么, 当然学习为主, 慢慢开始排斥IDE…
后来, 大学毕业, 工作是在嵌入式系统里编程, 或者是在linux服务器上写服务, 主要都是C语言的. 根本用不到IDE加之之前学习的, 基本上IDE的能够实现的功能, 用命令行+Vim基本都能实现. 逐渐自己慢慢在和别人的交流中就变化了. 出口Windows垃圾, IDE渣渣, 用IDE基本就是低端的象征, 当时的思想极端到自己用C语言, 连C++都看不上, 更别说JAVA或者C#之流, 所以IDE进一步在我的世界里疏远, 并且开始有主动鄙视IDE行为. 当时极端到什么程度, 到一台新电脑上, 总是把命令行窗口最大化或者干脆直接切文字终端, 别人看见以后总会投来膜拜的眼神, 自己洋洋得意, 其实在命令行下也没干什么…回想一下, 太天真.
在后来, 工作越来越忙, 看的代码写的代码越来越多. 由于工作原因Vim成为了必须用的东西, 因为好多项目, 都是用命令行编译, 好多vim编辑的痕迹, 自己为了更快速方便的工作, Vim就用的更多更好, 逐渐发现, Vim确实好用, 而且非常好用. 这个时候我就能真正的说, Vim真的增加了我的工作效率. 这时候一个事情改变了我的想法, 一个同样热爱命令行, 热爱vim同事, 但是他的工作是JAVA, 人家在浏览代码的时候只需要Ctrl+鼠标就可以完成跳转到类定义, 但是他还要用grep, 找关键词, 用vim打开, 然后修改. 我开始变的不理解他的行为, 开始转变对IDE的看法. 合适场景用合适的工具. 最后有意思的是, 那位vim达人最后因为公司让他长期搞Java, 他终于选择了离开, 去了一家知名的做路由器的公司做底层了, 听到这些的时候, 我心里其实蛮开心的.
现在, 我开始做iOS编程, 等于说换了行业. 这时即使Vim再牛逼在快, 它也完成不了Xcode所能完成的事情, 从项目创建, 到自动添加所需的库, 自动的笔误的代码, 最后打包签名上传. 有人会抬杠说, 这些其实在Mac OS X中都可以用命令行做到. 我想说的是, 能做到又怎么样?你用命令行写的App能在总榜排到第几? 话说回来, 我现在是Xcode + XVim插件, 在编写程序的时候, 还是Vim习惯, 做其他事情的时候用XCode功能, 这不是两全其美么, 效率还奇高. 现在我是不愿意参加什么Vim牛逼还是IDE牛逼的圣战了, 如果讨论怎么把App或者游戏做到总榜前10我还有点兴趣.
总结:
回想一下, 如果一个人总是在说Vim或者Emacs牛逼IDE是渣渣不要怪他, 先看看他做的事情, 如果做linux kernel他能用什么IDE, 完全可以鄙视他; 如果他为开源贡献了xx行代码, 为linux贡献了xx代码, 牛人总有牛的道理, 偏执狂才能改变世界么; 但是如果他搞的是神马框架或者Java, C#之类的, 用Vim和Emacs是不是在折腾自己呢, 不如看看他用工具做出来的东西怎么样吧. 其实, 这些都是工具, 能用工具给养活自己, 甚至帮助别人, 对这个世界能有贡献是不是更重要的事情呢? 年轻的时候用外表, 用自己用的工具, 用Vim用Emacs来证明自己牛逼是太正常的一件事了, 因为自己还年轻, 不足以那那些实在的事情来证明.
最后:
如果让我选择用Vim还是IDE来证明自己, 我当然是愿意用Vim. 因为Vim才是我喜欢的范, 但是如果别人用IDE来证明了自己, 我也同样会拍手叫好, 因为他们已经证明了, 用什么重要么?
发布于 2013-12-07 19 条评论
赞同
19
反对,不会显示你的姓名
陈达野,"Vim用户"."Linux爱好者"."GFW受众"
知乎用户、赵文博、ccoder 等人赞同
科普:
1.vim里删除一行是dd,删除一百行是100dd,不需要进入什么命令行。除非您用的不是我们这个世界的vim。
2.有个名叫make的程序,只要在一个名叫makefile的文件里写好编译规则(也可以通过一些工具自动生成)就可以编译,不需要你输入大堆的编译命令。只要在vim里绑定一个快捷键就可以像vs一样的一键编译。vs里也有一个叫nmake的东西,用来干差不多的事,你可以在你的vs的安装目录里找到。我的vim配置里专门给F5绑定了一个函数来实现一键运行,会通过文件类型判断该怎么做。是python脚本就调用python,是shell脚本就调用/bin/bash,是html就调用浏览器,是c就调用gcc进行编译然后运行,我真的不知道要输入命令干嘛。
说说我用vim的原因:
1.我不是java程序员也不是c#程序员,用不着vs或者eclipse。
2.上面很多人说过了,ssh连接到linux服务器上,除了vim或者emacs还真不知道有啥编辑器好用。
3.我懒。用vim用不着正襟危坐。往椅子上一躺(那角度真的是躺),双手懒洋洋搭着键盘,手指啪嗒啪嗒的敲就行了,手肘从头到尾都不用挪位。
PS:作为一个vim爱好者我从不会鄙视用IDE的,我只鄙视用IE的。
编辑于 2013-08-20 9 条评论
赞同
388
反对,不会显示你的姓名
仲晨,人生的路啊,都是自己选的
赵胜利、周笑镭、Dragoon Bentus 等人赞同
实用是好事儿,但经常会丧失解决复杂问题的便捷性。
比如处理数据,简单的我也用Excel,但用着用着,碰到诸如特定需求的排序去重,不仅得绞尽脑汁旁门左道,还得查半天函数手册。下次,我不如直接写bash脚本或python处理来的快,尽管它们入门学习成本较大,但能够在未来的路上让我避免掉大量Excel本身的局限性。
Ⅳ 程序员写程序要用到什么工具vim是干嘛用的编辑器是什么_
编程需要在自己的电脑上搭建编程的环境。Vim主要就是用来方便些代码的工具。也就是相当于你说的编辑器。
Ⅵ Vi和Vim的区别及联系是什么
Vi和Vim的区别为:搜索不同、脚本语言不同、共享不同。Vim是从vi发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能丰富,在程序员中被广泛使用,和Emacs并列成为类Unix系统用户最喜欢的文本编辑器。
一、搜索不同
1、Vi:Vi不支持正则表达式的搜索。
2、Vim:Vim支持正则表达式的搜索。
二、脚本语言不同
1、Vi:Vi没有自己的脚本语言,只是在Unix及Linux系统下进行编辑的工具。
2、Vim:Vim有自己的脚本语言,称为Vim脚本(也称为vimscript或VimL),用户可以通过多种方式使用它来增强Vim。
三、共享不同
1、Vi:Vi不具有高度可配置性,无法和各个Vi安装之间共享文件。
2、Vim:Vim具有高度可配置性,包含Vim核心全局设置(称为vimrc)的文件可以在各个Vim安装之间共享。
参考资料来源:
网络——Vi
网络——VIM
Ⅶ Vi/Vim 使用小窍门,如何消除搜索后的关键字高亮
1、使用Xshell连上CentOS7机器,输入vim,提示命令不存在vim。
Ⅷ vim是什么,干什么用的
Vim是从 vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。和Emacs并列成为类Unix系统用户最喜欢的编辑器。
Ⅸ 现在还有人用vim吗,我注定是职业程序员,现在有那么多编辑器,vim神一样的地位被撼动了吗
主要是现在 IDE 用的人更多。仅就编辑器来讲,肯定是超不过 vim。
但 vim 很难配置。比如在 IDE 里,一般鼠标悬停在某个函数上,它的文档就会出现。如果是 c 语言,vim 可以反查头文件找函数原型,很方便。或者 c 语言有成熟的 info 或者 man 手册,vim 也能与它们交互。
但您工作的环境可能就没这理想。vim 编译,运行,调试的所有框架都需要自己建立。当然常用的开发语言和开发环境有大家开发好的插件,但需要逐渐适应。而且除了圈子里的人,很难给你支招。比如我虽然懂 vim,但我不用 python 写程序,就没办法对 python 的开发环境提出建设性意见。
我的意思是说,如果您对使用 vim 有很多心得。那么您可能需要花一些时间把自己需要的开发环境搭建起来。如果您是职业程序员,并且工作比较稳定(意思是开发环境不会频繁变换),那么一劳永逸地搭建起来,将来可以逐渐积累。这样用 vim 是很有优势的,最重要的是效率高。
但如果您对 vim 了解不深,或者对开发环境不熟悉。那么搭建这么一个环境可能十分艰辛,甚至让您觉得沮丧。这时直接选择 ide 也是不错的。因为教程之类的资源更丰富一点。效率低一些也可以接受。等充分熟悉了,愿意再往 vim 转也可行。
最后,个人习惯应该是起决定性作用的。因为程序员大多都不怕折腾。
Ⅹ python初学者用vim好吗
python初学者使用vim很合适。
Vim是从 vi 发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。
关于初学Python有几个硬性需求:
1、一键运行,初学Python,难免会写一些简短的代码,需要快速运行一下,验证运行结果。
2、repl,交互式编程,就是快速运行指定的几行代码:
更多Python知识请关注Python自学网