研发效率破局之道
葛俊
前Facebook内部工具团队Tech Lead
立即订阅
3343 人已学习
课程目录
已完结 39 讲
0/4登录后,你可以任选4讲全文学习。
开篇词 (1讲)
开篇词 | 为什么你要关注研发效能?
免费
研发效能综述 (3讲)
01 | 效能模型:如何系统地理解研发效能?
02 | 效能度量:效果不好甚至有副作用,怎么回事?
03 | 效能度量:如何选对指标与方法,真正提升效能?
研发流程 (7讲)
04 | 流程优化:怎样才能让敏捷、精益真正为我所用?
05 | 代码入库前:Facebook如何让开发人员聚焦于开发?
06 | 代码入库到产品上线:Facebook如何使用CI/CD满足业务要求?
07 | 分支管理:Facebook的策略,适合我的团队吗?
08 | DevOps、SRE的共性:应用全栈思路打通开发和运维
09 | 信息流通:让团队高效协同,让产品准确击中目标
10 | 答疑篇:反对996并不是反对奋斗
工程方法 (10讲)
11 | 研发环境:Facebook怎样让开发人员不再操心环境?
12 | 代码审查:哪种方式更适合我的团队?
13 | 代码审查:学习Facebook真正发挥代码审查的提效作用
14 | 质量与速度的均衡:让“唯快不破”快得更持久
15 | 开源:从Phabricator的开源历程看开源利弊
16 | 高效上云:如何用云计算来提高效能?
17 | 测试左移:测试如何应对新的开发模式?
18 | 蓝绿红黑灰度发布:这些五颜六色的发布到底怎么用?
19 | 不再掉队,研发流程、工程方法趋势解读和展望
20 | 答疑篇:如何平衡短期收益和长期收益?
个人效能 (11讲)
21 | 高效工作:Facebook的10x程序员效率心法
22 | 深度工作:聚焦最有价值的事儿
23 | 效率工具:选对用对才能事半功倍
特别放送 | 每个开发人员都应该学一些VIM
24 | VIM:如何高性价比地学习VIM的实用技巧?
25 | 玩转Git:五种提高代码提交原子性的基本操作
26 | Facebook怎样实现代码提交的原子性?
27 | 命令行:不只是酷,更重要的是能提高个人效能
28 | 从工作场景出发,寻找炫酷且有效的命令行工具
29 | 1+1>2,灵活的工具组合及环境让你的工作效率翻倍
30 | 答疑篇:关于价值导向和沟通
管理和文化 (6讲)
31 | 业务目标和技术目标两手抓:怎样打造高效团队?
32 | 从Netflix公开的著名PPT谈硅谷公司文化
33 | Facebook企业文化:工程师文化是创造力引擎
34 | Facebook工程师文化实践三大支柱之一做感兴趣的事
35 | Facebook工程师文化实践三大支柱之二拥有信息和权限
36 | Facebook工程师文化实践三大支柱之三绩效调节
结束语 (1讲)
结束语 | 超越昨天的自己,享受成长的快乐
研发效率破局之道
登录|注册

特别放送 | 每个开发人员都应该学一些VIM

葛俊 2019-10-16
你好,我是葛俊。
在“研发流程”和“工程方法”模块中,我主要是从团队的角度和你分享如何提高研发效能,所以很多同学希望我能分享一些工具的使用,来提高自己的效能。所以今天,我准备了一篇关于 VIM 的文章。在这篇文章中,我会着重带你深入了解 VIM 的两个特点。因为正是基于这两个特点,VIM 可以很好地提高我们的工作效率。至于更多的、具体的 VIM 使用方法和技巧,我会在接下来的“个人效能”模块中,用另一篇文章专门详细与你介绍。
如果你已经是一个 VIM 的使用者了,那我希望文中关于 VIM 原理的讨论,可以帮助你更深入地理解它,进而可以更高效地使用它。而如果你还不是 VIM 的使用者,那我推荐你学习它的基本方法,并寻找适当的场景去使用它。
其实,向开发者们推荐编辑器,尤其是像 VIM 这样一个比较容易引起争议的编辑器,是一件有风险的事儿。但,基于我对 VIM 的了解和它能给开发者带来的巨大好处,我认为这个风险是值得的,相信你也能从中有所收获。
我们下来看看什么是 VIM。

什么是 VIM?

VIM 是一个老牌的编辑器,前身是 VI,第 1 个版本发行于 1978 年,距离今天已经有 41 年的历史了。
VIM 是 VI Improved,是提高版的 VI,相对来说比较新,但实际上它的第 1 个版本也早在 1991 年就发布,也已经有 28 年的历史了。
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《研发效率破局之道》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(9)

  • Jxin
    1.严格要求自己代码的规范,深入学习并运用重构手法。坚持两三个月后,突然有一天,就发现自己写代码打开了一片新天地,一切都变得整洁,明确。
    2.对于vim用得很烂,严重依赖idea和鼠标。但我愿意相信,如果能脱离鼠标,熟练命令行的开发模式,很可能这也会是一片新天地,一个关于高效的新天地。
    3.期待老师的个人效能篇。前面的章节写得很棒,很多干货和知识延伸,极客的专栏买了大半读了大半,您的这个专栏,个人觉得跟宝玉老师的软件工程之美带来的感受相似,虽非纯技术文章,但对实际工作和国内软件开发的帮助都极大。对国内,非专科的程序员都是很宝贵的财富,谢谢您。

    作者回复: 首先非常感谢你的支持!能对大家有帮助,这个专栏才有价值!

    IDEA本身的快捷键也是非常强大的。可以抽一点时间看看,找到自己最常用的几个记住。

    对工具的使用,一个建议是在日常工作中留意最经常重复和繁琐的工作步骤,隔上一阵子花一点时间做工具方面的调研,看看有没有合适的工具或者工具使用方法可以对这些流程进行优化。每次优化一点点即可。不要贪多。

    2019-10-07
    2
  • 日拱一卒
    编译器有点儿像编程语言,不同的人有不同的爱好,比较容易引起争吵。

    最近一年多一直在用VS Code,对于vim,更多的是到服务器上的维护工作时会用到,例如检查服务器或者应用配置,这种情况下,不是深度使用vim,知道基本的命令操作就好了。

    曾几何时,我看到别人基本不用鼠标,直接通过键盘可以完成大部分日常工作,非常羡慕,也背过很多快捷键,但后来基本忘的差不多了。这种事情如果没有形成“肌肉记忆”,基本没啥意义。

    我现在的理解,软件开发的工作更多是脑力工作,工具可以提高我们的效率,维护一套适合自己的工具箱很有必要,但是过度关注这些,可能会舍本逐末。当然,我的理解可能会很片面。

    作者回复: > 我现在的理解,软件开发的工作更多是脑力工作,工具可以提高我们的效率,维护一套适合自己的工具箱很有必要,但是过度关注这些,可能会舍本逐末。

    这个对工具的理解我很赞同!工具是辅助。
    (update 2019-10-05)补充一点,不过工具对效率提高带来的量变也可能引发质变。比如前面文章中提到的“截屏工具链”。

    > ...最近一年多一直在用VS Code...这种事情如果没有形成“肌肉记忆”,基本没啥意义...

    我最近几年也没有主要使用VIM。主要使用的是Intellij系列的IDE比如WebStorm,IDEA,PyCharm,以及最近开始使用的VS Code。不过在这些IDE中我都有在使用VIM的插件,使用已经形成肌肉记忆的命令。

    正是因为VIM有这种命令行和跨平台,我才冒着引发IDE争吵的风险进行推荐 :)

    2019-10-04
    1
  • 我来也
    行内查找命令F/f T/t 可以了解一下。

    // This is mkaing sure that userTotalScore is not

    从行尾移到mkaing的k只需要在普通模式下依次按下Fk,两个按键,光标就到k上了。

    作者回复: 赞!看来@我来也 是个VIM行家呀。我知道F/f T/t这个命令,不过一般我只在后面接',",{},()这些字符时使用。因为a-z这些字符太多,一下子看不清。

    举一个我最常用的例子:
    import Layout from "../components/layout"

    当光标在字符串中某个位置,我需要修改从光标位置到双引号位置时,我会使用ct"或者cT"。

    欢迎继续讨论 :)

    2019-10-04
    2
    1
  • -W.LI-
    vim命令确实很cool,可惜掌握的不好。

    作者回复: VIM命令超级多。推荐方法是逐步学习。一次学几个在当前最常用最有用的,等到编程肌肉记忆之后再新学几个。

    2019-10-04
    1
  • 苦行僧
    当你发现 vim vim浏览器插件 idea-vim插件 相互配合的时候, 你就能感受到各种快捷键的便捷了

    作者回复: VIM的这个跨平台的确厉害!另外这三个怎么**相互**配合,能给大家分享一下吗?

    2019-11-18
  • Johnson
    vim的多模式特点,让它确实是应用范围最广的编辑器,啥都能搞个vim插件,这一点上emacs真是没法比。不过emacs高人尝尝开发出神级插件(magit,evil),各有千秋。Spacemacs绝对是值得一番折腾的,其实是将vim的leader key发挥到了极致,再结合evil和emacs丰富的插件,真叫一个酸爽,感兴趣的可以参考我的github的spacemacs 配置https://github.com/Johnson9009/dotfiles/blob/master/editor/spacemacs.d/init.el, 高频率用上一个月,别的不敢说,以后在服务器上纯字符界面的开发环境,不会再想用其他的编辑器了。就像项目中说的最好的编辑器既不是VIM也不是Emacs,而是Emacs+Vim。

    作者回复: 这是Emacs的实力粉丝了!我有空也看看Spacemacs!

    2019-10-17
  • Geek_1988
    有个小问题,在vs code中使用vim插件的时候,怎样使用命令行打开其他的文件呢?

    作者回复: :e <file-path>

    这个跟VIM是一样的命令。不过当前目录是现在打开的文件的目录。

    不过,我还是会使用VS Code原生的Cmd+P来打开文件 :)

    2019-10-11
  • Miletos
    VIM重度使用者,中毒太深,戒不掉了

    作者回复: 哈哈,我曾经中过Emacs的毒,后来戒掉了,换成了VIM。不过瘾没有那么大了 :)

    2019-10-10
  • 鱼_XueTr
    近几年一直在用Emacs&Vim的Spacemacs

    作者回复: 我没有使用过Spacemacs。当年我用Emacs的时候,一开始是直接使用Emacs,后来知道了VIM的命令模式的好处之后,偶尔使用Emacs的时候,会使用Viper。

    看起来Spacemacs是把Viper这种方式应用到了一个新的高度 :)

    2019-10-07
收起评论
9
返回
顶部