Vim作者对高效使用编辑器的建议

原文链接:《Seven Habits of Effective Text Editing》

前言

本文摘自Vim主要作者Bram Moolennar的2000年11月在其个人网站发布的提高文本编辑效率的7个方法,个人认为从工具作者那里学习如何使用工具是最好的学习方式。本篇文章重点介绍了,达到高效使用编辑器的方法。

第一部分、编辑文本

1、快速在文本间移动

  1. 通过搜索的方式快速定位
    • 使用\pattern的方式搜索
    • 使用*直接对所在单词搜索
    • %在匹配括号间移动,[{返回之前的{gd本地变量定义的位置。 注:应对搜索结果配置高亮
  2. 同样的内容不要打2遍
    • 使用宏来记录你的重复性的操作(之后的文章会介绍)
    • 活用.来重复上一步的文本操作。
  3. 自动纠错 对于经常犯的拼写错误,我们使用以下几种方式来避免。
    • 自动补全:使用自动补全而不是自己手动输入变量名
    • 自动纠错:对于自己经常犯的拼写错误可以使用如下配置来让vim自动纠错。
      1
      2
        :abbr Lunix Linux
        :abbr pn penguin # 当然也可以实现快速输入
      

第二部分、多文本操作

  1. 使用grep,ack,ag来对工程中所有的文件进行搜索 注:我们使用了ctrlp,CtrlSF来进行辅助
  2. 在一个终端窗口中进行分割来方便编辑:如:sp:vs
  3. 让VIM和其他工具整合在一起使用:如:sh能进入bash模式等。

第三部分、迭代优化自己的编辑器

这部分个人觉得是最重要的,很多都认为使用VIM是先背快捷键然后熟练使用VIM,但是实际上和键盘盲打相似,是在使用中慢慢的逐渐提高使用VIM技巧,这里大佬给出了如下3个步骤:

Step 1

While you are editing, keep an eye out for actions you repeat and/or spend quite a bit of time on. 观察自己在哪些步骤进行了很多的重复性输入工作。

Step 2

Find out if there is an editor command that will do this action quicker. Read the documentation, ask a friend, or look at how others do this. 查找文档,询问朋友看有没有能让这些操作变得更快的方案。(去VIM的Wiki或者看我的专栏(笑))或者自己写一个宏或者脚本来自动化这些输入。

Step3

Train using the command. Do this until your fingers type it without thinking. 不断的使用快捷命令,直到你的指头形成肌肉记忆。

大佬的建议

这里大佬说了一个很有意思的事情,就是希望让我们能养成一个习惯。 首先,我们不需要去记住一个编辑器的所有的命令,这是完全浪费时间的 ( a complete waste of time ),每个人只需要知道其中 20% 左右的命令就够用了。

其次,不要去优化只用一到两次的操作,把时间花在大量重复的操作上,写一个宏或者去互联网上查看别人的即决方案。

最后,也是最重要的,将自己的解决方案和查到的命令记录下来。很多指令,在一段时间内经常使用,我们会熟记于心,但是随着一些原因停止了使用,之后再想回忆起来就需要花更多的时间。简单的来说,就是不做无用功,让我们的每一次努力达到可叠加的效果。

最后的话

关于为什么使用VIM,大佬给出了如下的话:

Learning to drive a car takes effort. Is that a reason to keep driving your bicycle? No, you realize you need to invest time to learn a skill. Text editing isn’t different. You need to learn new commands and turn them into a habit.

好的编辑器是值得我们花时间学的,最后感谢大家订阅我的专栏。

  • 本文作者: Author:DeamoV
  • Github:https://github.com/Duan-JM
  • Email:vincent.duan95@outlook.com
  • 本文链接: Artical: Vim作者对高效使用编辑器的建议
  • 版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 许可协议。转载请注明出处!
  • 版权声明: 原创文章如转载,请注明出处