Vim 不是那么可怕,这里有5个免费的资源可以用来学习它
未知的事情是可怕的,未知数通常代表着一种阻力。Vim 也不列外。前段时间 Stackoverflow 有个很火的帖子「帮助一百万开发者退出 Vim」(中文),但 Vim 仍是世界上各地的开发者使用最多的编辑器之一。 许多不用 Vim 的开发者习惯于其他编辑方式,认为自己并不需要切换到 Vim。他们不想离开自己的舒适区,认为学习 Vim 要花费太多的时间和精力,毕竟 Vim 和其他编辑器区别不大。 在开始推荐资源之前,我们来看看,为什么要考虑学习使用这个 20 世纪 80 年代的文本编辑器。 你为什么要先学习 Vim?
(图:一个开源项目截图,显示了比特币、纳斯达克等加密货币的值)
你可能需要一些理由,来了解为什么学习 Vim 是值得花时间来学习的。毕竟它可能会影响到整个工作流程。在学习之前要知道这东西适不适合自己。对了,Vim 这个词的含义是能量和热情。 ★就像玩游戏
当你想玩游戏的时候,不会知难而退。因为你真的有动力玩它,它能给你快乐。用 Vim 开发也是相似的,当你开始感受到它的快捷和只管,你就会享受这种感觉。一旦你学会更高级的命令来提高你的工作效率,你甚至会上瘾的。 ★无鼠标
你可以通过快捷键访问代码和文件浏览,者可以让你摆脱鼠标的束缚。你的手指不再离开键盘,从而编码速度提升。 换句话说,你可以在 Vim 中快速编写代码。真的很快。 ★许多强大的命令 你可以使用的命令列表相当长。你不必学习每一个,你只需要开始的时候学习一些必要的,后面慢慢尝试新的命令。 ★高度定制化 可以根据自己的喜好使用和更改配置,下载数百配色方案,海量插件扩展编辑器,使其像现代的 IDE 一样强大。 ★回归文本 现代 IDE 具有很多内置功能。他们通常带有很多按钮和丰富的用户界面,使你可以更轻松地使用其中的所有功能。而反观 Vim,它通常以文本为中心。这样可以更容易地将焦点集中在代码上,并摆脱与代码无关的其他分散图标和选项。 ★它在每台 Linux 机器上 绝大多数服务器使用 Linux 作为操作系统,当你熟悉了 Vim 的基础知识后,你可能对服务器的部署和维护有新的体会。 以上这些不是你必须使用 Vim 的原因,但是他们代表了一些很重要的观点,如果这些理由有一个能够打动你,那请给 Vim 一个机会。 5 个学习的免费在线资源 以下是可以帮你开启学习之旅的一些资源,不要一味地学习所有 Vim 的相关内容,要知道有人用了 Vim 20 年,他们还在学习最新的相关知识。 ★ VIMTUTOR
如果你使用 Unix 的机器,你可以到 shell 输入 vimtutor。如果你使用 Windows,你可以点击这里来学习。 这是一个很好的教程,帮你在几分钟内学习 Vim 的基础知识,完成后你会发现 Vim 的惊人之处。 ★ OpenVim
这是一个交互式教程,你可以使用它来了解一些 Vim 的基础知识,还可以测试你现在 Vim 技能水平。 ★ Vim Adventures(Vim 大冒险)
如果你喜欢在游戏中学习,那这个资源对你来说可能很有价值。在游戏中,你可以学习使用 Vim 命令来进行导航移动,移动在这个迷宫中至关重要。你可以随时输入 :help 获取提示。 ★ The basics of Vim(Vim的基础知识)
Derek Wyatt 准备了 13 个视频专辑来教授 Vim,这些视频已经被浏览了数千次,都是些非常有价值的 Vim 基础知识。如果你还在犹豫是否要入坑,那么这些视频会给你足够的理由。 ★ Vim Cheat Sheet
结论 如果你是一个 Vim 新人,最好不要马上用在你的主要项目上,因为你可能会感到沮丧而弃坑。你应该在一些边缘项目或者业余项目中使用它,当你觉得能够驾驭它之后再全情投入。 尝试着在你的边缘项目使用 Vim 几天,看看它是如何运行的。如果你喜欢使用 Vim,那么,你可以坚持下去了。
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 8天入门docker系列 —— 第七天 让你的container实现跨主机
- angular – ng4 componentFactory将它放在DOM目标中
- 为什么Scala的Future.onComplete需要一个ExecutionContext
- scala – 在EitherT上的左平面地图
- Julia语法在julia-vim中突出显示
- bootstrap翻译文档
- 将-x调试命令捕获到Bash中的文件中
- [Angularjs]asp.net mvc+angularjs+web api单页应用之CRUD操
- Apache使用 .htaccess 来实现强制https访问的方法
- Angular 2 – Firebase存储-putString()方法支持元数据?