插入模式

回忆上节课内容

  • 我们总结了,模式切换的方式

    • 命令模式 Normal mode
    • 底线命令行模式 Command mode
  • 帮助文件的正确打开方式
    • :h
  • 在文档中使用鼠标
    • set mouse=a
    • 建议不用鼠标
  • 使用全键盘方式跳入跳出超链接
    • <kbd>ctrl</kbd>+<kbd>]</kbd>
    • <kbd>ctrl</kbd>+<kbd>o</kbd>
  • 帮助文件的两种手册
    • 用户帮助手册
    • 引用帮助手册
  • 这次我们来插入内容,修改文档

插入模式

想要插入内容的话,应该进入插入模式 (Insert mode)

  • 首先我们还是打开上次的那个 oeasy.txt
ls -l . > oeasy.txt
vi oeasy.txt

  • 然后如何进入插入模式呢?
  • 我们使用 :help insert 看看是否有什么命令

  • 我们需要先退出帮助模式

    • :q
  • 然后按下 <kbd>i</kbd> 进入插入模式
  • 进入插入模式后
    • 左下角 状态栏会显示 -- 插入 --
    • 这意味着已经进入了插入模式
    • 时刻留意左下角
    • 左下角就像小地图一样
    • 是统管全局的所在

  • 如果没有进入插入模式的话

    • 可能因为处在新开的帮助中
    • :q 退出帮助

插入文字️

  • 插入模式下我们可以任意打字
  • 按键不再是命令而是输入字符
  • 冒号回车都能打出来

  • 输入完成之后,又想要移动位置怎么办呢?

    • <kbd>esc</kbd> 退回到命令模式 Normal mode
    • 或者 <kbd>ctrl</kbd>+<kbd>c</kbd> 回到命令模式 Normal mode
    • 尽量选择 <kbd>ctrl</kbd>+<kbd>c</kbd> 因为可以让双手保持正位
    • 右手小指 <kbd>ctrl</kbd> + 右手食指 <kbd>c</kbd>
  • 注意退回到命令模式后
    • 左下角状态栏不再显示 -- 插入 --
    • 而是变回空白
  • 观察左下角
  • 时刻注意

文件细节

  • 注意有内容的地方是具体的文字内容
  • 在没有内容的地方
  • 前面会有 tilder(~) 进行提示
  • tilder(~) 意味着空行,就是啥都没有

使用 i 命令进入插入模式

  • 按 <kbd>i</kbd> 再次进入插入模式
  • 按 <kbd>esc</kbd> 或 <kbd>ctrl</kbd>+<kbd>c</kbd> 退回到命令模式

  • 可以用 <kbd>i</kbd> 和 <kbd>ctrl</kbd>+<kbd>c</kbd> 反复切换模式
  • 观察左下角

帮助细节

  • i 到底什么意思?
  • 可以 :h 他一下
  • :h i 就是 help 一下 i 命令究竟做些什么

  • 那 <kbd>ctrl</kbd>+<kbd>c</kbd> 是啥意思?

查询快捷键

  • 什么不会就 :h 什么
  • :h ctrl-c 就是帮助我们查找一下 ctrl-c 快捷键究竟做些什么

  • 同理还有 :h ctrl-g

  • <kbd>CTRL</kbd>+<kbd>G</kbd> 对应着 :f[ile] 命令
  • 可以查看当前文件信息

尝试退出

  • 输入 :q 希望退出
  • 但是屏幕 显示如下

  • 按照他的要求输入 :q!
  • cat oeasy.txt 显示文件并未修改
  • 原来 :q! 只是不保存,强制quit退出
  • 囧,虽然还没成功保存...
  • 但是曾经真的插入文字了!
  • 我们先总结一下

总结

  • 我们这一次进入了插入模式
  • 在正常模式下使用命令 <kbd>i</kbd>
  • 在插入模式下使用 <kbd>esc</kbd> 退回到正常模式
  • 使用 :!q 不保存强制退出
  • 哎~看来保存只能下次再说了
  • 我们下次再说!

oeasy教您玩转vim - 5 - # 插入模式的更多相关文章

  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. 无意发现vim里插入模式可以借助Alt键输入一些特殊字符

    无意发现vim里插入模式可以借助Alt键输入一些特殊字符.如: Alt+w: ÷ Alt+:: » Alt+f  :  æ Alt+ . :  ® Alt+ ? :  ¯...

  5. 【vim】插入模式与常用编辑操作

    vim不像很多编辑器那样一启动便可以直接编辑文本,需要在普通模式按下i, a等键才会进入插入模式进行文本编辑. 如何进入插入模式 以下的命令都会让vim从普通模式切换到插入模式,但命令执行后的字符插入 ...

  6. vim在插入模式粘贴代码缩进问题解决方法

    转载自:https://blog.csdn.net/commshare/article/details/6215088 在vim粘贴代码会出现缩进问题,原因在于vim在代码粘贴时会自动缩进 解决方法: ...

  7. oeasy教您玩转linux010203显示logo

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

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

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

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

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

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

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

随机推荐

  1. ECMA 2023(ES14) 新特性

    ECMAScript 2023 主要包含内容 ECMAScript 2023 于 2023 年 6 月 27 日获得 ECMA International 的批准. ECMAScript 是标准化的 ...

  2. feign入门

    .net core: feign.net是一个spring cloud feign组件的c#移植版 https://github.com/daixinkai/feign.net 在.net core ...

  3. 【BI 可视化插件】怎么做? 手把手教你实现

    背景 对于现在的用户来说,插件已经成为一个熟悉的概念.无论是在使用软件. IDE 还是浏览器时,插件都是为了在原有产品基础上提供更多更便利的操作.在 BI 领域,图表的丰富性和对接各种场景的自定义是最 ...

  4. centos os7 和redhat 7 安装yum源失败的解决办法

    首先看我的报错 [Errno 14] curl#6 - "Could not resolve host: mirrors.aliyun.com; Unknown error" yu ...

  5. 剑指Offer-47.求1+2+3+...+n(C++/Java)

    题目: 求1+2+3+...+n,要求不能使用乘除法.for.while.if.else.switch.case等关键字及条件判断语句(A?B:C). 分析: 利用短路与来判断n是否大于0,从而实现递 ...

  6. ABC347题解

    省流:输+赢 D 按位分析. 既然两个数异或后的结果是 \(C\),那就考虑 \(C\) 中为 \(1\) 的数中有几个是在 \(X\) 当中的. 假如 \(\text{a - popcnt(X) = ...

  7. Mybatis 动态 sql 是做什么的?都有哪些动态 sql?能简述一下动态 sql 的执行原理不?

    a.Mybatis 动态 sql 可以让我们在 Xml 映射文件内,以标签的形式编写动态 sql,完成逻辑判断和动态拼接 sql 的功能. b.Mybatis 提 供 了 9 种 动 态 sql 标 ...

  8. postman Could not get any response 无法请求

    外网访问接口地址,刚开始考虑到是阿里云服务器上面的ECS网络安全策略拦截,添加了白名单, 首先在浏览器中回车访问,页面有反应. 但是在postman中请求,仍然返回 Could not get any ...

  9. Hibernate Validator 校验注解

    Hibernate Validator 校验注解/** * 认识一些校验注解Hibernate Validator * * @NotNull 值不能为空 * @Null 值必须为空 * @Patter ...

  10. kettle从入门到精通 第七十一课 ETL之kettle 再谈http post,轻松掌握body中传递json参数

    场景: kettle中http post步骤如何发送http请求且传递body参数? 解决方案: http post步骤中直接设置Request entity field字段即可. 1.手边没有现成的 ...