Vim(如Vi IMproved中一样)是一种流行的文本编辑器,全世界许多程序员和系统管理员都在使用它。 就在几周前,我遇到了一个事实,就是我不掌握这个广受赞誉的工具,也从未真正将其用于实际开发。 我决定为此做些事情并开始学习。 这个故事是到目前为止的工具经验。
![](https://i-blog.csdnimg.cn/blog_migrate/e375a0d0f585a907f6e6e38cfa41726b.png)
背景
我一直使用GNU nano进行控制台文件编辑,并使用一些IDE( Eclipse , Netbeans ,您为其命名)进行实际工作。 我唯一使用过Vim的就是我的git commit消息,所以我的知识仅限于如何插入文本以及如何保存文件并退出编辑器。
几周前,我在德国出差,对酒店房间感到无聊。 我不小心碰到了C ++开发人员的Youtube视频 ,展示了使用Vim和tmux进行编程。 一切看起来非常容易,而无需使鼠标指针费时或无需从IDE的下拉菜单中查找内容。 这让我想到,学习和特别是掌握Vim是否可以帮助我提高生产力并拯救神经-不仅在我的大脑中,而且还包括我的鼠标手:)
![](https://i-blog.csdnimg.cn/blog_migrate/2f6a16bf76fe92b102ebca11ecfabea9.png)
零平方
我通过安装最新版本的Vim(8.0)开始了这一旅程,在单个Google搜索之后,这是一件容易的事。 安装编辑器后,我直接跳了下来尝试编辑正在处理的项目的一些源文件。 这不是一个好主意,我发现自己直接进入插入模式并像白痴一样向下滚动箭头。 我担心这不会很好地结束,所以我开始挖掘更多的信息,人们如何学习如何使用此工具以及在哪里可以找到更多的资源。
当然,我遇到了vimtutor,这是一个命令行“工具”,可以教您编辑器中的导航基础知识。 连续完成几次后,我开始更好地了解编辑器的工作方式。 同样,在同一趟旅程中,我玩了著名的Vim Adventures –一种基于Web浏览器的游戏,非常有趣地教您一些vim中最常用的命令。
仍然,编辑没有像我想的那样说服我。
著名的学习曲线
互联网上的所有评论都谈到了Vim的学习曲线有多陡峭。 我不知道我是否可以同意。 理解和使用基本命令非常简单,通过适当的练习,它将很快保留在您的肌肉记忆中。 实际上,我会说学习曲线并不陡峭-很长。 Vim允许您自定义许多不同的东西,从插件到不同模式下的键映射,从主题到文本格式设置。 以您希望的方式获得所有这些设置可能会(并且会)花费您一些时间。 当然,您可以进行任何额外工作,但特别是在C ++编程中,您确实希望自动完成功能和其他使您提高工作效率的好东西有所帮助。
插件,插件,插件
您可以真正花费大量时间的事情之一是Vim插件。 针对不同的用例,有成千上万的不同插件,要找到最佳匹配,根据您的需要进行配置,并学会使用它非常耗时。
找到好的插件的最佳方法是一个名为Vim Awesome的页面,并且为不同的插件管理器(Vundle,NeoBundle,VimPlug和Pathogen)提供了一种线性安装。 我建议您应该使用这些插件管理器之一,否则将很难正确安装所有组件。
配置插件可能很容易,也可能很难—一切都取决于插件。 我还建议您一次安装一个插件,并在添加其他插件之前先学习使用它。 有时,这些插件可能会相互冲突(尤其是带有键映射),并导致很多问题。
![](https://i-blog.csdnimg.cn/blog_migrate/ecf0bb22e9b3a5a6a0499883261e9b83.png)
改进空间
一旦开发和运行起来,Vim不应成为您停止学习的东西。 您应该始终尝试学习新知识,以及如何以更少的击键次数完成工作。 就个人而言,我还没有使用编辑器完成任何主要的实际编程,但是我已经到达了。
这是我认为您应该检查以提高Vim技能的列表:
- 找到一个Vim朋友 。 这真的很重要,特别是如果您是新手,并且可以找到一个与Vim一起工作了很长时间的朋友。 您可以分享有关插件和良好配置的发现,并且随时可以寻求帮助(从我的角度来看,Vim用户热衷于帮助他人使用该工具)
- 找到好的配置 。 互联网上有很多不错的.vimrc配置文件,您可以花很少的精力尝试一下(例如this )。 您可以通过在GitHub中搜索“ dotfiles”存储库找到更多信息。
- 创建自己的dotfiles存储库。 如果您要在不同的机器上工作,这是一个很好的主意。 您可以轻松地克隆存储库,然后在特定计算机上应用所需的配置。 此外,它还可以在版本控制中很好地保留配置更改的历史记录。 如果您有兴趣,可以在https://github.com/drodil/dotfiles中查看我的dotfiles存储库
- 不要停止学习。 也许最重要的是您每天都要不断学习。 学习新的东西,无论是新的插件,新的组合键还是配置,然后继续进行-最终您将到达那里。
最后的话
我没有发现vimtutor有什么问题,但是我仍然决定自己做一个专注于在编程中更有用的键映射的导师。 我将在有时间的时候继续工作,并且很可能将其分发到我的Github帐户上 ,以供人们试用。
即使我现在才学习这种出色的工具大约一个星期,但我可以说它看起来非常有前途,并且可以理解为什么人们真的喜欢它。 与使用IDE相比,我直觉至少要花一个月的时间才可以绕开我的工作效率,但我仍然可以看到它会付出很多努力。
如果您没有尝试学习它,我强烈建议您。 这可能令人沮丧,但是一旦您完成了一些具体的工作,它也会非常有意义(对于其他人来说,它看起来也很“骇人”;))
发现更多
- Vim Master —教您Vim键映射的Android游戏。 很棒的长途飞行;)
- Vimcast-使用Vim并解释不同的事物及其工作方式的人的屏幕录像
还请 在此处 检查速成班的第二部分 !
关于我
我是Heikki Hellgren,是Elektrobit Automotive的软件开发人员和技术爱好者。 我的兴趣是软件构建,工具,自动测试以及AI和自动驾驶等所有新奇事物。 您可以在Medium和Twitter上关注我。 您也可以查看我的网站以获取更多信息。
From: https://hackernoon.com/my-vim-crashcourse-1d50d4e9d558