向上向下

回忆上节课内容

  • 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. 基于 ESP8266_RTOS_SDK 实现声控灯

    #include <stdio.h> #include <string.h> #include <stdlib.h> #include <stdint.h&g ...

  2. Gitea 代码仓库平台

    引言 Gitea 是一个自己托管的 Git 服务程序.他和 GitHub,Bitbucket or Gitlab 等比较类似.它是从 Gogs 发展而来,不过它已经 Fork 并且命名为 Gitea. ...

  3. go语言开发的内网穿透工具,frp.

    转载自:https://www.appinn.com/frp/ 什么是 Frp? 内网穿透工具有很多,其中 Frp (Fast Reverse Proxy) 是比较流行的一款.FRP 是一个免费开源的 ...

  4. Android 13 - Media框架(33)- ACodec(九)

    关注公众号免费阅读全文,进入音视频开发技术分享群! 前一节我们学习了Output Format Changed事件是如何上抛并且被处理的,这一节我们紧接着来学习OutputBuffer是如何上抛并且被 ...

  5. PaddleOCR在 Linux下的webAPI部署方案

    很多小伙伴在使用OCR时都希望能过采用API的方式调用,这样就可以跨端跨平台了.本文将介绍一种基于python的PaddleOCR识方案.喜欢的可以关注公众号,获取更多内容. 一. Linux环境下部 ...

  6. nginx的11个阶段

    nginx处理请求的11个阶段 阶段 模块 第一阶段 POST_READ realip 第二阶段 SERVER_REWRITE rewrite 第三阶段 FIND_CONFIG 第四阶段 REWRIT ...

  7. nginx002: NGINX的环境变量,基本命令参数,目录关系及gzip优化

    NGINX的环境变量,基本命令参数,目录关系及gzip优化 添加环境变量 nginx命令执行方式 nginx [选项] [参数] 通过编译安装的nginx 默认是没有环境变量的,如何设置环境变量,让n ...

  8. LeetCode 207. Course Schedule 课程表 (C++/Java)

    题目: There are a total of n courses you have to take, labeled from 0 to n-1. Some courses may have pr ...

  9. 算法金 | LSTM 原作者带队,一个强大的算法模型杀回来了

    大侠幸会,在下全网同名「算法金」 0 基础转 AI 上岸,多个算法赛 Top 「日更万日,让更多人享受智能乐趣」 时间拉回 2019 年,有「计算机界诺贝尔奖」之称图灵奖获得者公布,深度学习三巨头:Y ...

  10. spring事务传递特性-REQUIRES_NEW和NESTED

    spring对于事务的实现的确是它的一大优点,节省了程序员不少时间. 关于事务,有许多可以聊的内容,例如实现方式.实现原理.传递特性等. 本文讨论传递特性中的REQUIRES_NEW,NESTED. ...