1.模式介绍:

  在真正开始使用VIM之前,你必须先了解VIM的模式,否则在 VIM 面前你可能会手足无措。VIM是有模式

编辑器,这意味着 VIM 有多种不同的工作模式,在不同的工作模式下用户相同的操作会得到不同的结果。想象

一下你的手机,当你的手机处于待机状态时(Sleep mode),按下电源键是唤醒手机,当你的手机处于活动

状态时(Active mode),按下电源键却是进入待机状态。VIM通过模式,扩展了你的键盘,相当于使用模式

使你手机的电源键功能得到扩展一样。VIM这样做就是为了让你更高效率的编辑你的文字。

  VIM的主要模式有:

  1)Normal Mode:字面翻译常规模式,但是我更愿意称其为“编排模式”。VIM在启动后即为Normal

             Mode,在这个模式下你的操作是命令VIM帮助你完成某个动作,例如,你在键盘

               点击"h"按键,等同于你按下方向键"<—",光标向左移一个字符。在Normal Mode

               下,你的更多操作是修改文档,所以我更愿意称之为编排模式。

 

  2) Insert Mode:字面翻译插入模式,但是我更愿意称之为“编写模式”。在这个模式下,你按下"h"键,

              即输入了"h"字符,和我们用记事本编辑文字无甚区别,这叫“所键既所得” ^^。当

            处于Insert mode时,VIM显示如图:

 

  3) Visual Mode:字面翻译为可视模式,其实我更愿意称之为“区块操作模式”,因为在这个模式下,你

              总是先选中某个区域,然后再执行某种操作,这个模式可以视为局部的Normal Mode。

            当进入Visual mode时,VIM显示如图:

 

2.模式之间的切换

  Normal mode 切换到 Insert mode:

    i:进入Insert mode,并且让光标处于当前字符之前

    I:进入Insert mode,并且光标处于当前行的第一个非空字符前

    a:进入Insert mode,并且光标处于当前字符之后

    A:进入Insert mode, 并且光标处于当前行尾

    o:进入Insert mode,并在当前行后新起一行,光标位于新行

    O:进入Insert mode,并在当前行上边插入新行,光标位于新行

    s:删除当前字符,然后进入Insert mode

    S:删除当前行,然后进入Insert mode

  Insert mode 切换到Normal mode:<ESC>按键

  Normal mode 切换到Visual mode:

    v:进入Visual mode,选取以字符为单位

    V:进入Visual mode,选取以行为单位

  Visual mode 切换到Normal mode:<ESC>按键

  下图为各模式转换的关系图:

VIM之模式的更多相关文章

  1. 5.5 进入编辑模式 5.6 vim命令模式 5.7 vim实践

    5.5 进入编辑模式 5.6 vim命令模式 5.7 vim实践 进入编辑模式 小写i在当前字符前插入 大写I 在光标所在行的行首插入 大写O 在光标上面一行插入编辑 小写o在光标下面一行插入编辑 小 ...

  2. vim介绍/vim颜色显示和移动光标/ vim一般模式下移动光标/ vim一般模式下复制、剪切和粘贴

    5.1 vim介绍 5.2 vim颜色显示和移动光标 5.3 vim一般模式下移动光标 5.4 vim一般模式下复制.剪切和粘贴 vim   是vi的升级版本 vim 带有颜色显示 安装vim : y ...

  3. 第四章 vim 可视模式

    第四章  vim 可视模式 vim的可视模式允许我们选中一块文本区域并进行操作 3种不同的可视模式  分为 操作字符文本      行文本 块文本 .命令用来重复执行可视模式中的命令   只有在操作面 ...

  4. vim normal 模式下L键

    vim normal 模式下L键总是到一行的最后一个字符,而不是最后一个字符的下一个字符,这样进入插入模式,就还得往右移动一下,就很费劲? 怎么解决 更新: a键进入插入即可

  5. 进入编辑模式、vim命令模式、vim实践

    第4周第5次课(4月13日) 课程内容:5.5 进入编辑模式5.6 vim命令模式5.7 vim实践 5.5 进入编辑模式 所谓编辑模式就是进入到一个可以编辑文本文档的模式,常规的方式就是按小i进入编 ...

  6. Vim折叠模式设置

    参考文章:http://www.cnblogs.com/welkinwalker/archive/2011/05/30/2063587.html set foldmethod=indent " ...

  7. VIM命令模式与输入模式切换

     vi编辑器 vi是UNIX和类UNIX环境下的可用于创建文件的屏幕编辑器.vi有两种工作模式:命令模式和文本输入模式.启动vi需要输入vi,按[Spacebar]键并输入文件名后回车. 切换模式键 ...

  8. 【vim】模式与模式切换

    很多初学者启动vim后,不知道怎么输入字符:按了半天字母,结果屏幕还是空的. vim和记事本或WORD不一样,不是一打开后就可以输入文字,此时它处于正常模式. vim一共有4个模式: 正常模式 (No ...

  9. [转] vi/vim命令模式和编辑模式各种操作

    摘要:vi 编辑器是最常用的文档创建和编辑工具,初学者应该学会简单应用vi ,学会在vi 中做简单的修改.删除.插入.搜索及替换作业:如果您是新手,不妨看看本文,或许这篇文档能让您在最短的时间内学会v ...

随机推荐

  1. 一、window下zookeeper独立部署

    zookeeper是一个分布式协调应用,用于管理大型主机.通俗地说,分布式应用相对于单体应用存在着很多要处理的问题,而这些问题通常是不太好处理的.比如,典型的一致性问题,而zookeeper可以很简单 ...

  2. groovy类、构造函数、方法

    数据类型:groovy支持Java语言规范定义的数据类型 类:与Java类的主要区别 1.没有可见修饰符的类或者方法是自动公开的 2.类不需要与源文件定义相同名称,但是默认规定定义一样 3.一个源文件 ...

  3. 最简单的java多线程代码(重写thread或者runnable的run方法)

    http://blog.csdn.net/testcs_dn/article/details/42526549 java线程使用示例——最简单的线程 线程使用示例一: [java] view plai ...

  4. Tomcat的下载安装及使用

    macOS Sierra Version 10.13.2 环境下Tomcat的下载与安装以及InterlliJ IDEA 2017.2 环境下配置Tomcat 与创建Web项目 一.Tomcat的下载 ...

  5. 关于mysql的 sql_mode=only_full_group_by 报错

    在mysql中执行 : SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY','')); 官网:https://dev ...

  6. 03.CSS动画-->自定义动画

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. sublime text3 jQuery Emmet 插件 安装方法,快捷键

    preference->package control->install package> emmet / jQuery 先说jQuery jQuery 集成了很多JS的补全功能.例 ...

  8. js实现toFixed截取效果

    Number.prototype.toFixed = function(fractionDigits) { ; || f > ) { throw new RangeError("Pre ...

  9. Mongodb安装详解及mongochef视图工具安装。

    按照国际惯例我们先来介绍一下MongoDB. MongoDB是一个基于分布式文件存储的数据库,由c++语言编写,为WEB应用提供可扩展的高性能数据存储解决方案.MongoDB属于非关系数据库,也不能说 ...

  10. MvcForum中文版+PostgreSql源码下载

    演示地址:http://bbs.hfenxiao.com 因为种处原因在家休假,闲来无事,便将去年关注的一个基于asp.net mvc论坛程序拿出来做了一些调整. 据说PostgreSql是世界上功能 ...