• 优雅编程:在IntelliJ IDEA中使用VIM (第02章:字母间移动,与鼠标的暂时分手(hjkl))


    模式带来的影响

    之前我们谈到,当我们使用vim进行文本编辑的时候,我们需要考虑到Mode,也就是模式对我们的影响。

    我们不能再随心所欲的输入即所得。因为在最初的时候,我们处于Normal Mode(正常模式)的影响下。

    如果我们想要进行编辑,需要通过一些手段进入插入模式(比如按下字母i,或者其他键,这个以后再谈。)

    但是,如果我们在键盘中不小心按下了某个键,而进入了其他的模式,想用回到正常模式呢?

    只需要按键盘左上角的一个键,也就是 esc

    之前我们谈到这个键,它可以让我们从 插入模式 回到 正常模式 ,但是事实上,它可以让我们从 任何其他模式,回到 正常模式

    所以,当我不知道自己处于什么模式的时候,就多按几下esc键,这肯定会让我们因此感到心安。

    用键盘的移动取代鼠标

    为什么我们要如此急迫并 想方设法 的回到正常模式呢?

    这有相当多的原因。有个vim大师打过这样一个有趣的比喻。

    如果说把用vim编辑程序比作画画。

    那么插入模式则像是在画布的空白处涂色。

    而正常模式则是在研究主题,调整光线,混合色彩,或者使用刻刀实现不同质地,或者使用棉签润色。

    事实上,画家只花很少一部分时间涂色,就像程序员也只花一小部分时间编写代码一样。他们更多的时间用来思考,阅读,以及在代码中穿梭浏览。 而且,当确实需要做修改时,也不需要进入插入模式,比如调整格式,复制它们,移动位置,或者删掉它们,在正常模式下,我们有相当多的工具可以使用。(这在之后我会慢慢讲解。)

    移动的基础

    作为这一切的基础,本章所讲的内容就是如何在正常模式下进行浏览。

    在正常模式下,有4个键可以进行进行基础移动,参考如下表格:

    正常模式下按键该按键产生的效果
    h向左移动一个字符
    j向下移动一个字符
    k向上移动一个字符
    l右右移动一个字符

    一个字符,这是移动的最小单位。

    可能有人会有诸多质疑?我常常听到的两个质疑如下:

    • 为什么不使用上下左右箭头呢

    • 为什么不用鼠标而一定要使用这些字母呢

    为什么不使用上下左右箭头

    对于第一个问题,其实vim也可以支持【上下左右箭头】的使用,但是并不推荐。因为如果你仔细观察键盘就会发现两点。

    • hjkl,这4个键在键盘中呈一字排开,就位于鼠标的主要区域的右边区域。

    如果我们了解过一点盲打基础,我们都知道,大多数键盘的 f键j键 相比其他键,会有一个凸起,这方便我们在不看键盘的情况下进行定位。我们一般在编程过程中,双手更多的时候应该位于这两个地方,而hjkl这4个键就在 j键 附近。比上下左右箭头的位置。可以减少你右手在主键盘区和上下左右区的摆动。

    为什么不用鼠标而一定要使用这些字母

    鼠标有些时候确实方便定位。甚至有些时候,使用鼠标比vim要方便。没必要拘泥于此。

    但是如果过于依赖鼠标,可能会形成思维定势,就没办法很好发挥vim正常模式的键的效用。(事实上更多的时候的定位其实是没必要使用鼠标)双手在键盘上可以有相当不错的流畅度。

    另外键盘的键是可以被宏记录的,而鼠标是不行的。(至于宏以后会提到)

    本章介绍了正常模式下的最基础的移动 hjkl。而如果只使用hjkl,其实在很多时候并不方便,下一章将介绍更多高效的移动方式。

  • 相关阅读:
    多御安全浏览器超强版本发布:新增密码检查功能
    洛谷 P5656
    Kotlin的泛型约束
    综述--知识蒸馏
    1720. 解码异或后的数组
    CVPR2019 | 29篇目标检测相关论文汇总(含2D/3D/显著性目标检测等)
    RabbitMQ安装
    Rust通用编程概念(3)
    2.2 Pthreads是什么
    使用spring gateway配置网关服务实现简单的路由转发
  • 原文地址:https://blog.csdn.net/qq_25955145/article/details/133939987