oeasy教您玩转vim - 14 - # 行头行尾

行头行尾

回忆上节课内容

  • 我们这次了解了 大词小词

    • 小词 就是我们常规意义的词

      • =" 等标点分开的词
    • 大词 里面包括了 =" 等标点

      • 只能被空格、tab、换行分割
  • WEB 都可以有大词移动

[图片上传失败...(image-28a07f-1628724541005)]

  • 但如果我想一步就跳到行头或行尾
  • 这不一步登天么?
  • 可能么

查阅文档

  • 还是从 :h w,开始查找起
  • 还是在 motion 里面查找
  • 应该和 W 都属于左右移动的部分
  • 找到这样两个命令
WEB

行首和行尾

[图片上传失败...(image-865580-1628724541004)]

  • ^,也就是 shift+6

    • 作用是移动到行首
    • 或者说移动到本行第一个非空字符
  • $,也就是shift + 4

    • 作用是移动到本行行尾
  • ^$ 也分别对应正则表达式中的 开头结尾

深入细节

  • 如果本行开头第一个字符是空格

    • ^无法到第一个字符啊?
    • 如果我就想去第一个字符
    • 无论他是空格还是tab
    • 应该怎么办呢?
  • 这个命令应该离 ^ 不远

  • 应该也在 motion 的 左右移动部分

  • 找到了 0

WEB

行头区别

  • ^ 是到本行第一个非空字符
  • 0 是到本行第一个字符,不管是不是空格
图片描述
  • 那结尾如果有空格会如何呢?

结尾细节

  • 相关命令肯定也在左右移动这部分
  • 找到 g_
toEnd
  • g_ 是到本行最后一个非空字符
  • 两个按键要依次按下
  • $ 跳到本行最后一个字符,即使他是空格

总结

  • 我们这次学会了直接跳到开头和结尾

  • 最重要的就是 ^$

    • ^ 到开头
    • $ 到结尾
  • 还有什么好玩的吗?

  • 下次再说

向上向下

回忆上节课内容

  • f 相关的是跳到

    • 跳到是 f
    • 跳到是 F
  • t 相关的是贴靠

    • 贴靠是 t
    • 贴靠是 T
  • 小写 相关的是 向前

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

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

    • 保持方向;
    • 改变方向,

向上向下

  • 本次启动的时候还是无参数模式

  • :set nocompatible 设置为不兼容 vi

    • 意思是使用 vim的方式处理命令
  • motion左右移动 之后是 上下移动

    • 可以使用 回车 换行

    • 也可以使用方向键向上或向下

    • 更常见的还是 jk,因为他们基于基本位置

      • j 是向下
      • k 是向上
      • 5 j 就是让光标向下 5 行
      • 5 k 就是让光标向上 5 行
    • 继续向下翻

updown

上下行首

updown
  • 加号 plus 对应 +

    • 对应键盘 shift + =
  • 减号 minus 对应 -

  • 上下行跳到行首

    • + 并且到行 非空字符
    • - 并且到行 非空字符
  • 对应关系

    • + 相当于 j ^
    • - 相当于 k ^

首行尾行

updown
  • g g 对应 首行

  • G 对应 尾行

  • 如果文章很长的话,直接跳就很方便

  • 一个 G 直接就到了 Ground

  • 想回开头的话可以用 g g

    • 不知道为什么这两个字母格外熟练
    • 熟练的让人心痛!
  • 另外还有一个组合 Go

  • 比如追加一个很长的配置文件的话 G o

    • G 直接到最后
    • o 在下面一行插入
  • 两个按键 Go 起来

  • ctrl+c回到正常模式

  • gg 就回开头

    • 重来一局

自动缩进

  • 当然也不都是痛苦回忆

  • g gG 是我见过最方便的自动缩进方式

    • g g = G 从首行到尾行自动缩进
    • 这个文件可能有 500 行,
    • 但是一把就全都缩进好了
  • 不只是程序、网页、css、配置文件都可以自动缩紧

    • 这样整理代码就非常迅速了
  • 程序员更多的时候工作在 normal 模式

    • 浏览、搜索、跳跃、复制、粘贴

    • 真正聚焦下来写代码再切换到插入状态。

    • 其他编辑器永远只有一个插入状态

    • 其实是浪费了很多键盘功能的

    • 这也是 Normal 模式被称作 Normal 正常模式

      • 被当作默认模式的原因。
  • g g = G这非常爽!!!

updown

总结

  • 上下行

    • j
    • k
  • 上下行首

    • 到行首非空字符 +
    • 到行首非空字符 -
    • 这些 motion 都可以加上 [count] 来翻倍
  • 首尾行

    • 首行是 g g
    • 尾行是 G
    • g g = G 是全部自动缩进
    • G 好像还有其他用法?
  • 什么用法呢?

  • 下次再说

你可能感兴趣的:(oeasy教您玩转vim - 14 - # 行头行尾)