向上向下

回忆上节课内容

  • f 相关的是跳到

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

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

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

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

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

向上向下

  • 本次启动的时候还是无参数模式
  • :set nocompatible 设置为不兼容 vi

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

    • 可以使用 回车 换行
    • 也可以使用方向键向上或向下
    • 更常见的还是 j、k,因为他们基于基本位置

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

上下行首

  • 加号 plus 对应 +

    • 对应键盘 shift + =
  • 减号 minus 对应 -
  • 上下行跳到行首

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

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

首行尾行

  • g g 对应 首行
  • G 对应 尾行
  • 如果文章很长的话,直接跳就很方便
  • 一个 G 直接就到了 Ground
  • 想回开头的话可以用 g g

    • 不知道为什么这两个字母格外熟练
    • 熟练的让人心痛!
  • 另外还有一个组合 Go
  • 比如追加一个很长的配置文件的话 G o

    • G 直接到最后
    • o 在下面一行插入
  • 两个按键 Go 起来
  • ctrl+c回到正常模式
  • gg 就回开头

    • 重来一局

自动缩进

  • 当然也不都是痛苦回忆
  • g g 配 G 是我见过最方便的自动缩进方式

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

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

    • 浏览、搜索、跳跃、复制、粘贴
    • 真正聚焦下来写代码再切换到插入状态。
    • 其他编辑器永远只有一个插入状态
    • 其实是浪费了很多键盘功能的
    • 这也是 Normal 模式被称作 Normal 正常模式

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

总结

  • 上下行

    • 是 j
    • 是 k
  • 上下行首

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

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

oeasy教您玩转vim - 17 - # 向上向下的更多相关文章

  1. oeasy教您玩转vim - 56 - # 字符可视化模式

    ​ 可视化编辑 回忆上节课内容 我们学习了关于模式匹配中使用参数 单个参数 :%s/<h2>\(.*\)</h2>/ - \1/g 多个参数 :%s/<img src=\ ...

  2. oeasy教您玩转vim - 57 - # 行可视化

    ​ 可视化编辑 回忆上节课内容 上次我们了解到可视模式 其实可视化对应三种子模式 字符可视模式 v 行可视模式 大写V 块可视模式ctrl+v 我们先来了解字符可视化模式 快捷键 v 可配合各种mot ...

  3. oeasy教您玩转vim - 53 - # 批量替换

    查找细节 回忆上节课内容 我们温习了关于搜索的相关内容 /正向,?反向 n保持方向,N改变方向 可以设置 是否忽略大写小写 是否从头开始查找 是否高亮显示 还有一些正则表达式的使用方法 行头行尾 ^$ ...

  4. oeasy教您玩转linux010105详细手册man

    详细手册 回忆上节课 我们上节课学习了使用命令来了解命令 whatis 我们通过他来发出灵魂之问 whatis到底是干什么的?

  5. oeasy教您玩转linux010203显示logo

    我们来回顾一下 上一部分我们都讲了什么?

  6. oeasy 教您玩转linux010101查看内核uname

    linux([?l?n?ks]) 是什么????? 咱们这次讲点什么呢?这次咱们讲讲这个 linux([?l?n?ks]),什么是 linux([?l?n?ks])呢?这linux([?l?n?ks] ...

  7. oeasy教您玩转linux010202软件包管理apt

    顾一下 上一部分我们都讲了什么?

  8. oeasy教您玩转linux010201持续输出yes

    我们来回顾一下 上一部分我们都讲了什么?

  9. oeasy教您玩转linux010108到底哪个which

    到底哪个which 回忆上次内容 我们上次讲了查找命令位置whereis 我想找到whereis的位置怎么办?

  10. oeasy教您玩转python - 006 - # hello world

    ​ Hello World! 回忆上次内容 python3 的程序是一个 5.3M 的可执行文件 python3 里面全都是 cpu 指令 可以执行的那种指令 我们可以把指令对应的汇编找到 objdu ...

随机推荐

  1. salesforce零基础学习(一百三十八)零碎知识点小总结(十)

    本篇参考: https://help.salesforce.com/s/articleView?id=release-notes.rn_apex_5level_SOQLqueries.htm& ...

  2. Sass预处理器 常见函数的基本使用

    Sass提供了许多内置模块,其中包含有用的函数(以及mixin).这些模块可以像任何用户定义的样式表一样使用@use规则加载,它们的函数可以像任何其他模块成员一样调用.所有内置模块URL都以sass开 ...

  3. 当面试官问出“Unsafe”类时,我就知道这场面试废了,祖坟都能给你问出来!

    一.写在开头 依稀记得多年以前的一场面试中,面试官从Java并发编程问到了锁,从锁问到了原子性,从原子性问到了Atomic类库(对着JUC包进行了刨根问底),从Atomic问到了CAS算法,紧接着又有 ...

  4. Android 13 - Media框架(1)- 总览

    关注公众号免费阅读全文,进入音视频开发技术分享群! 为了加深对Android Media框架的理解,决定在这里记录下学习过程中碰到的问题以及一些个人思考.由于本人水平有限,笔记的内容可能会有一些错误, ...

  5. pytest系列之-mark功能的使用

    功能使用: 标记用例,按正常.异常用例划分等级进行标记,或者按照模块进行划分. 标记后,可以执行部分用例. 例如: 你有以下用例,文件目录结构如下: testcase ----user ----man ...

  6. 修改 WIN10 WIN11 操作系统启动菜单名称

    修改 WIN10 WIN11 操作系统启动菜单名称 一块硬盘装双系统后,自动更新的启动菜单名称可能无法区分WIN10.WIN11,需要通过"卷2"."卷3"字样 ...

  7. golang + postgresql + Kubernetes 后端学习

    记录 链接 dbdiagram 基于 Golang + PostgreSQL + Kubernetes 后端开发大师班[中英字幕]

  8. maven依赖关系及打包及阿里云仓库地址

    https://developer.aliyun.com/mvn/search 阿里云仓库地址,可以搜索 <repositories> <repository> <id& ...

  9. 关于java时间类型和格式化到微秒问题

    常规的问题此处略,因为网络上到处都是,这里主要讨论三个问题: 1.数据库的时间戳类型(含微秒)对应java的什么类型 java的常见时间类型比较多: java.util.Date java.sql.D ...

  10. 【译】VisualStudio.Extensibility 17.10:用 Diagnostics Explorer 调试您的扩展

    想象一下,创建的扩展比以往任何时候都运行得更快.更流畅!如果您最近还没有跟上,我们一直在努力改进 VisualStudio. Extensibility SDK.VisualStudio. Exten ...