zoukankan      html  css  js  c++  java
  • VIM之模式

    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>按键

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

  • 相关阅读:
    js 数据结构-栈与队列
    mysql (已解决)Access denied for user 'root'@'localhost' (using password: NO)
    mysql (已解决p)MYSQL5.7启动不了,本地计算机上的 MySQL57 服务启动后停止。
    mysql 慢查询日志,灾难日志恢复,错误日志
    php json的相关操作
    (转)LitJson 遍历key
    (转)用Eclipse进行C++开发时Bianry not found的问题解决
    (转) 在Eclipse中进行C/C++开发的配置方法(20140721最新版)
    (转)如何在eclipse的配置文件里指定jdk路径
    (转)mongodb分片
  • 原文地址:https://www.cnblogs.com/CoverCat/p/4852874.html
Copyright © 2011-2022 走看看