研发效率破局之道
葛俊
前 Facebook 内部工具团队 Tech Lead
34093 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 40 讲
开篇词 (1讲)
研发效率破局之道
15
15
1.0x
00:00/00:00
登录|注册

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

2. 你见过VIM教徒和Emacs教徒的争吵吗?
1. 除了Windows,你见过没有预安装VI的系统吗?那个系统上自带编辑器是什么呢?在这个系统上,你又是如何完成文本编辑工作的呢?
付出学习VIM的成本是值得的
跨平台特性使得VIM技能可以在各种操作系统和IDE中应用
VIM的命令模式提高编辑效率、减少手指伤害
VIM的命令模式和跨平台特性是学习VIM的主要原因
配置
在一些非编辑器的软件中也有VI模式
在移动端操作系统上的移植
VI模式在其他编辑器及IDE中的应用
跨平台性
优点:减少按键次数、减少手指伤害
VIM的历史决定
命令模式的效率
命令模式 vs. 编辑模式
VIM的多种模式
优点:基于命令行模式、跨平台性
难以上手
区别于常见编辑器
历史:1978年发布第1个版本,1991年发布第1个VIM版本
VIM是VI Improved
发表时间:未提及
作者:葛俊
思考题
小结
特点二:VIM是跨平台做得最好的编辑器,没有之一
特点一:VIM独特的命令模式使得编辑文档非常高效
什么是VIM?
我为什么建议每个开发者都要学一些VIM?

该思维导图由 AI 生成,仅供参考

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

什么是 VIM?

VIM 是一个老牌的编辑器,前身是 VI,第 1 个版本发行于 1978 年,距离今天已经有 41 年的历史了。
VIM 是 VI Improved,是提高版的 VI,相对来说比较新,但实际上它的第 1 个版本也早在 1991 年就发布,也已经有 28 年的历史了。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

VIM编辑器的独特命令模式和跨平台特性使其成为一款备受推崇的编辑工具。文章深入探讨了VIM的命令模式,强调其高效的文本编辑方式和对手指健康的积极影响。此外,文章还介绍了VIM在各大操作系统和IDE中的广泛应用,以及在移动端和浏览器中的移植情况。作者强调VIM的跨平台特性为用户提供了经验复用的便利,使得VIM成为开发人员提高工作效率的利器。总结中指出,学习VIM的基本使用是非常值得的,因为它能让用户高效、健康地编辑文本。文章还提出了思考题,引发读者对VIM和其他编辑器的思考。整体而言,本文深入浅出地介绍了VIM编辑器的特点和优势,为读者提供了全面了解VIM的入口。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《研发效率破局之道》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(14)

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

    作者回复: 首先非常感谢你的支持!能对大家有帮助,这个专栏才有价值! IDEA本身的快捷键也是非常强大的。可以抽一点时间看看,找到自己最常用的几个记住。 对工具的使用,一个建议是在日常工作中留意最经常重复和繁琐的工作步骤,隔上一阵子花一点时间做工具方面的调研,看看有没有合适的工具或者工具使用方法可以对这些流程进行优化。每次优化一点点即可。不要贪多。

    2019-10-07
    8
  • 技术修行者
    编译器有点儿像编程语言,不同的人有不同的爱好,比较容易引起争吵。 最近一年多一直在用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
    5
  • Y024
    既然都说了 what 和 why,怎么能少了 how 呢? 狗尾续貂,补充下 vim 攻略链接: http://yannesposito.com/Scratch/en/blog/Learn-Vim-Progressively/ 左耳朵耗子翻译中文版:https://coolshell.cn/articles/5426.html

    作者回复: 👍👍 我在另一篇文章里也系统介绍了How:https://time.geekbang.org/column/article/150779

    2020-01-06
    4
  • 我来也
    行内查找命令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
    5
    2
  • -W.LI-
    vim命令确实很cool,可惜掌握的不好。

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

    2019-10-04
    2
  • 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
    1
  • ck
    在"非vim按键 vim按键" 比较重到达当前单词的结尾的vim 按键应该是e 不是c.

    作者回复: 多谢指出。我联系编辑改正!

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

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

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

    作者回复: :e <file-path> 这个跟VIM是一样的命令。不过当前目录是现在打开的文件的目录。 不过,我还是会使用VS Code原生的Cmd+P来打开文件 :)

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

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

    2019-10-10
收起评论
显示
设置
留言
14
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部