向上向下

回忆上节课内容

  • 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. 通过 InnoSetup 美化安装界面

    InnoSetup 的美化相应的帖子也比较多,但是代码不是很全...所以我专门出了这篇文章来记录下这个美化过程.废话不多说,先上个成果: 前端er们可以直接下载 vue-nw-seed 这个分支,一键 ...

  2. 原型工具--canva可画

    Canva 是一个功能强大的在线设计平台,提供了丰富的设计工具和素材,包括原型设计.尽管 Canva 在原型设计方面并不像专门的原型设计工具(如Sketch.Figma.Adobe XD等)那样功能全 ...

  3. Asp.Net 单点登录(SSO)|禁止重复登陆|登录强制下线

    背景: 先上个图,看一下效果: SSO英文全称Single Sign On(单点登录).SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统.它包括可以将这次主要的登录映射到其 ...

  4. 详解在Linux中同时安装配置并使用 MySQL5.7 和 MySQL8.0

    最近需要使用mysql8.0版本,但是原本的mysql5.7版本已经被多个服务依赖,于是想想能不能同一台服务器装多个版本的mysql,一查确实可行,这里做一个记录方便自己后期回忆 阅读本文前请注意!! ...

  5. react组件传值(props[只读属性]) 函数组件

    组件间传值,在React中是通过只读属性 props 来完成数据传递的. props:接受任意的入参,并返回用于描述页面展示内容的 React 元素. function Cmp1(props) { r ...

  6. vue移动端 滚动

    better-scroll: https://better-scroll.github.io/docs/zh-CN/guide/ 影院列表数据使用better-scroll来完成数据的展示,此插件对于 ...

  7. 用 Sentence Transformers v3 训练和微调嵌入模型

    Sentence Transformers 是一个 Python 库,用于使用和训练各种应用的嵌入模型,例如检索增强生成 (RAG).语义搜索.语义文本相似度.释义挖掘 (paraphrase min ...

  8. kettle从入门到精通 第四十七课 ETL之kettle mongo output 写入

    1.上一节课我们学习了mongo input读取步骤,本节课我们一起学习下mongo out 写入步骤,该步骤可以将数据写入到mongo中,如下图所示. 2. 配置mongo连接,有两种方式,如截图所 ...

  9. 夜莺监控发布 v6.7 版本,推送部分商业版功能

    熟悉夜莺的小伙伴都知道夜莺分为开源版.专业版.企业版,三个版本良性发展.近期夜莺团队发布了 v6.7 版本,把机器Metadata管理功能推送到了开源版,下面是该功能的简单介绍. 如上图,机器列表页面 ...

  10. RestApi请求地址支持多路径访问

    RestApi请求地址支持多路径访问 @RestController@RequestMapping("/test") //单路径@RequestMapping(path = {&q ...