向上向下

回忆上节课内容????

  • f 相关的是跳到

    • 跳到是 <kbd>f</kbd>
    • 跳到是 <kbd>F</kbd>
  • t 相关的是贴靠

    • 贴靠是 <kbd>t</kbd>
    • 贴靠是 <kbd>T</kbd>
  • 小写 相关的是 向前

    • 向前 跳跃是 <kbd>f</kbd>
    • 向前 贴靠是 <kbd>t</kbd>
  • 大写 相关的是 向后

    • 向后 跳跃是 <kbd>F</kbd>
    • 向后 贴靠是 <kbd>T</kbd>
  • 和继续 查找方向 相关的是 <kbd>;</kbd>、<kbd>,</kbd>

    • 保持方向 是 <kbd>;</kbd>
    • 改变方向 是 <kbd>,</kbd>

向上向下

  • 本次启动的时候还是无参数模式
  • :set nocompatible 设置为不兼容 vi
    • 意思是使用 vim的方式处理命令
  • motion左右移动 之后是 上下移动
    • 可以使用 <kbd>回车</kbd> 换行
    • 也可以使用方向键向上或向下
    • 更常见的还是 <kbd>j</kbd>、<kbd>k</kbd>,因为他们基于基本位置
      • <kbd>j</kbd> 是向下 ????
      • <kbd>k</kbd> 是向上 ????
      • <kbd>5</kbd> <kbd>j</kbd> 就是让光标向下???? 5 行
      • <kbd>5</kbd> <kbd>k</kbd> 就是让光标向上???? 5 行
    • 继续向下翻

updown

上下行首

updown

  • 加号 plus 对应 <kbd>+</kbd>
    • 对应键盘 <kbd>shift</kbd> + <kbd>=</kbd>
  • 减号 minus 对应 <kbd>-</kbd>
  • 上下行跳到行首
    • <kbd>+</kbd> 向 并且到行 非空字符
    • <kbd>-</kbd> 向 并且到行 非空字符
  • 对应关系
    • <kbd>+</kbd> 相当于 <kbd>j</kbd> <kbd>^</kbd>
    • <kbd>-</kbd> 相当于 <kbd>k</kbd> <kbd>^</kbd>

首行尾行

updown

  • <kbd>g</kbd> <kbd>g</kbd> 对应 首行
  • <kbd>G</kbd> 对应 尾行
  • 如果文章很长的话,直接跳就很方便
  • 一个 <kbd>G</kbd> 直接就到了 Ground
  • 想回开头的话可以用 <kbd>g</kbd> <kbd>g</kbd>
    • 不知道为什么这两个字母格外熟练
    • 熟练的让人心痛!
  • 另外还有一个组合 Go
  • 比如追加一个很长的配置文件的话 <kbd>G</kbd> <kbd>o</kbd>
    • G 直接到最后
    • o 在下面一行插入
  • 两个按键 Go 起来
  • <kbd>ctrl</kbd>+<kbd>c</kbd>回到正常模式
  • gg 就回开头
    • 重来一局

自动缩进

  • 当然也不都是痛苦回忆
  • <kbd>g</kbd> <kbd>g</kbd> 配 <kbd>G</kbd> 是我见过最方便的自动缩进方式
    • <kbd>g</kbd> <kbd>g</kbd> <kbd>=</kbd> <kbd>G</kbd> 从首行到尾行自动缩进
    • 这个文件可能有 500 行,
    • 但是一把就全都缩进好了
  • 不只是程序、网页、css、配置文件都可以自动缩紧
    • 这样整理代码就非常迅速了
  • 程序员更多的时候工作在 normal 模式
    • 浏览、搜索、跳跃、复制、粘贴
    • 真正聚焦下来写代码再切换到插入状态。
    • 其他编辑器永远只有一个插入状态
    • 其实是浪费了很多键盘功能的
    • 这也是 Normal 模式被称作 Normal 正常模式
      • 被当作默认模式的原因。
  • <kbd>g</kbd> <kbd>g</kbd> <kbd>=</kbd> <kbd>G</kbd>这非常爽!!!????

updown

总结

  • 上下行
    • 是 <kbd>j</kbd>????
    • 是 <kbd>k</kbd>????
  • 上下行首
    • 到行首非空字符 <kbd>+</kbd>
    • 到行首非空字符 <kbd>-</kbd>
    • 这些 motion 都可以加上 [count] 来翻倍
  • 首尾行
    • 首行是 <kbd>g</kbd> <kbd>g</kbd>
    • 尾行是 <kbd>G</kbd>
    • <kbd>g</kbd> <kbd>g</kbd> <kbd>=</kbd> <kbd>G</kbd> 是全部自动缩进
    • <kbd>G</kbd> 好像还有其他用法?
  • 什么用法呢?
  • 下次再说 ????