1. 概述

  1. 简述 vim 模式
  2. 很简单的东西, 随便说说得了

2. 模式们

  1. 概述

    1. vim 各个模式
    2. 后面的切换, 都是从 标准模式 切换到其他模式

1. Normal Mode

  1. 名称

    1. 标准模式 / 常规模式 /普通模式
    2. 后面都叫 标准模式
  2. 作用
    1. vim 的默认模式
    2. 在文档中做 简单的位置跳转
    3. 还有 复制, 粘贴, 删除 等操作
  3. 标志
    1. 左下角没有任何显示
    2. 按 h, j, k, l, 可以对 光标 做 向左, 向下, 向上, 向右 的 位移操作

2. Insert Mode

  1. 名称

    1. 插入模式
  2. 作用
    1. 编辑文本, 做 增删改 操作
  3. 标志
    1. 左下角有文本
      -- INSERT --
  4. 切换
    1. i
    2. a

3. Visual Mode

  1. 名称

    1. 视觉模式
    2. 名字有点别扭, 但是暂时想不出别的了
  2. 作用
    1. 可以选定整块内容, 并执行操作
    2. 支持 列模式
  3. 标志
    1. 左下角有文本
      -- VISUAL --
  4. 切换
    1. v

4. Command Mode

  1. 名称

    1. 命令模式
  2. 作用
    1. 执行命令

      1. 调整 vim 环境
      2. 查找, 替换内容
      3. 多窗口切换
      4. 其他强大功能
  3. 标志
    1. 左下角以 : 或者 / 开头
  4. 切换
    1. :
    2. /

5. Replace Mode

  1. 名称

    1. 替换模式
  2. 作用
    1. 替换光标位置的 文本内容
    2. 用的比较少
  3. 标志
    1. 左下角有文本
      -- REPLACE --
  4. 切换
    1. R

3. 留个坑

  1. 模式之间, 是可以相互切换的

    1. 切换的操作, 简单讲了一部分, 没有系统归类, 以后应该也不会了
    2. 我认为, 刻意去记忆 如何在模式间切换, 不是一个很好的学习方式
      1. 我的思路, 还是以功能为主
      2. 按照常见的行为模式, 分类处理
  2. vim 使用
    1. 好些同学觉得, 我不用 linux, 就接触不到 vim, 这玩意没啥用处
    2. 实际上, vim 是个强大的文本编辑器, 而且获取很方便, 不用, 其实有点亏
    3. windows 下的 vim
      1. 可以安装 git , 在 git bash 中, 使用 vim 命令
      2. 对于 使用 intelliJ 的 IDE 的同学, 可以在 setting 的 plugin 里, 找到 ideavim 插件
    4. 在废话一句, 熟练地使用 vim, 对于工作效率, 是有帮助的

ps

  1. ref

    1. freecodecamp
      https://guide.freecodecamp.org/vim/modes/

VIM - 模式简介的更多相关文章

  1. MVVM模式和在WPF中的实现(一)MVVM模式简介

    MVVM模式解析和在WPF中的实现(一) MVVM模式简介 系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二)数据绑定 MVVM模式解析和在 ...

  2. Sublime Text 3 插件安装及Vim 模式设置

    1.安装Sublime Text 3  下载安装:http://www.sublimetext.com/3 Package Control安装:https://sublime.wbond.net/in ...

  3. 【前端学习】sublime开启vim模式

    学习目标:在sublime下开启vim模式,了解基本vim的编辑快捷键. 下载安装Sublime Text 3 :http://www.sublimetext.com/3 Vim/Vi: Vim/Vi ...

  4. 代理(Proxy)模式简介

    Proxy 模式简介 代理模式的两个应用: 打开文档时加载大图片 例如:如果有个对象是一张很大的图片,而这张图片需要花费很长时间才能显示出来,那么当这个图片包含在文档中的后面时,使用编辑器或浏览器打开 ...

  5. Sublime Text 3配置与vim模式(待完整)

    Sublime Text 3通过设置默认值与用户值的方式,来进行配置.默认值不允许更改,用户值是用户进行配置.同一属性,当用户值存在时,默认值就无效.打开Preference,如图: 先贴下我的Set ...

  6. (转)Qt Model/View 学习笔记 (一)——Qt Model/View模式简介

    Qt Model/View模式简介 Qt 4推出了一组新的item view类,它们使用model/view结构来管理数据与表示层的关系.这种结构带来的 功能上的分离给了开发人员更大的弹性来定制数据项 ...

  7. vim模式下报错E37: No write since last change (add ! to override)

    故障现象: 使用vim修改文件报错,系统提示如下: E37: No write since last change (add ! to override) 故障原因: 文件为只读文件,无法修改. 解决 ...

  8. 转:vim模式下报错E37: No write since last change (add ! to override)

    故障现象: 使用vim修改文件报错,系统提示如下: E37: No write since last change (add ! to override) 故障原因: 文件为只读文件,无法修改. 解决 ...

  9. idea取消vim模式

    在安装idea时选择了vim编辑模式,但是用习惯了eclipse,总是要拷贝粘贴,在idea中一直按ctrl+c和ctrl+v不起总用.于是想把vim模式关闭掉.方法:菜单栏:tools->vi ...

随机推荐

  1. 自动出题判分——c#学习实践

    1.程序功能自动出题—(程序随意给出10以内加减乘除)并且判断结果正确与否,正确打对勾,错误打错号. 2.设计界面: 3.代码: using System; using System.Collecti ...

  2. (转)如何解决VC中的警告warning C4251 needs to have dll-interface

    这通常是由于以数据成员方式在DLL导出类中使用了模板类造成的.比如: #include <iostream> #include <vector> using namespace ...

  3. 创建 JavaScript 对象

    http://www.w3school.com.cn/js/js_objects.asp 创建 JavaScript 对象 通过 JavaScript,您能够定义并创建自己的对象. 创建新对象有两种不 ...

  4. SpringBoot接口返回去掉空字段

    返回的接口中存在值为null或者空的字段过滤掉 @Configuration public class JacksonConfig { @Bean @Primary @ConditionalOnMis ...

  5. VMware Harbor 学习

    Harbor简介 Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器,通过添加一些企业必需的功能特性,例如安全.标识和管理等,扩展了开源Docker Distributio ...

  6. BZOJ4321:queue2(DP)

    Description n 个沙茶,被编号 1~n.排完队之后,每个沙茶希望,自己的相邻的两人只要无一个人的编号和自己的编号相差为 1(+1 或-1)就行.现在想知道,存在多少方案满足沙茶们如此不苛刻 ...

  7. [CTSC2018]假面

    题目 先来考虑一下第一问,血量有\(P\)的概率减\(1\) 由于我们最后需要求每一个人的期望血量,于是考虑维护出每个人处于不同血量时候的概率 一个简单\(dp\)即可 \[dp_{i,j}=dp_{ ...

  8. ethereumjs-vm/examples/run-transactions-complete

    1.设置账户: ethereumjs-vm/examples/run-transactions-complete/key-pair.json { "secretKey": &quo ...

  9. java的四舍五入

    四舍五入是我们小学的数学问题,这个问题对于我们程序猿来说就类似于1到10的加减乘除那么简单了.在讲解之间我们先看如下一个经典的案例: public static void main(String[] ...

  10. php多进程编程实现与优化

    PHP多进程API 创建子进程 @params void @returns int int pcntl_fork(void) 成功时,在父进程执行线程内返回产生的子进程PID,在子进程执行线程内返回0 ...