插入模式

回忆上节课内容

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

    • 命令模式 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. 深入学习Semantic Kernel:创建和配置prompts functions

    引言 上一章我们熟悉了一下 Semantic Kernel 的理论知识,Kernel 创建以及简单的Sample熟悉了一下 SK 的基本使用.在Semantic Kernel中的 kernel fun ...

  2. linux file命令查看文件类型

    在linux系统中,linux是不根据后缀名识别文件类型的,所以使用file命令查看文件的类型. [root@node5 ~]# file /etc/shadow /etc/shadow: ASCII ...

  3. 【题解】A19337.火星背包

    \(\bf{用 CDQ 分治可以极大地提升程序运行的速度.}\) \(\bf{实测在本数据量下,可以在 \color{red}10ms\color{normal}} 内通过所有的测试点!\) 关于折半 ...

  4. C# Socket 封包 拆包 ProtoBuf 的使用

    //这是消息头包,消息头包大小是固定的, //每次传输都要先传消息头,在传消息体 enum EnumMsgType:消息类型 long PackgeSize:包大小 long TotalPackage ...

  5. kubernetes命令补全k8s命令补全

    echo "source <(kubectl completion bash)" >> ~/.bashrc source <(kubectl complet ...

  6. 面试必问:MySQL死锁 是什么,如何解决?(史上最全)

    MySQL死锁接触少,但面试又经常被问到怎么办? 最近有小伙伴在面试的时候,被问了MySQL死锁,如何解决? 虽然也回答出来了,但是不够全面体系化, 所以,小北给大家做一下系统化.体系化的梳理,帮助大 ...

  7. 8个实用的Java Streams API

    分享8个开箱即用的API,方便日常处理集合. 1. 快速过滤空值:Stream.ofNullable 该方法是在 Java 9 中引入的,有助于过滤集合中的所有空值,从而可能使我们避免空指针异常. 在 ...

  8. Linux进程间通信-FIFO(命名管道)

    本系列文章主要是学习记录Linux下进程间通信的方式. 常用的进程间通信方式:管道.FIFO.消息队列.信号量以及共享存储. 参考文档:<UNIX环境高级编程(第三版)> 参考视频:Lin ...

  9. JDBC的简单使用以及介绍

    JDBC(Java DataBase Connectivity) Java 语言连接数据库 再本模块中,java提供里一组用于连接数据库的类和接口 Java 语言开发者,本身没有提供如何具体连接数据库 ...

  10. 极限科技(INFINI labs)荣获中国信通院大数据“星河”标杆案例

    12 月 6 日,由中国信息通信研究院和中国通信标准化协会大数据技术标准推进委员会(CCSA TC601)共同组织的 2023 大数据"星河(Galaxy)"案例评选结果正式公示. ...