zoukankan      html  css  js  c++  java
  • vim1

      Vim模式介绍

     几乎所有的编辑器都会有插入和执行命令两种模式,并且大多数的编辑器使用了与Vim接入不同的方式:命令目录(鼠标或者键盘驱动),组合键(CTRL和ALT组成)或鼠标输入。Vim和vi一样,仅通过键盘来在这些模式之中切换,

     Vim具有6种基本模式和5种派生模式。

     普通模式(Normal mode):在普通模式中,用的编辑器命令,这是Vim启动后默认的模式。普通命令模式往往需要一个操作符结尾。

     插入模式(Insert mode):在插入模式中,大多数案件都会向文本缓冲中插入文本。大多数新用户希望文本编辑器过程中一直保持这个模式。在插入模式中,可以按Esc键回到普通模式。

     可视模式(Visual mode):这个模式和普通模式较相似。但移动命令会扩大高亮的文本区域。高亮区域可以是字符、行或一块文本。当执行一个非移动命令时,命令会被执行到这块高亮的区域上。Vim的“文本对象”也能和移动命令一样用在这个模式中。

     选择模式(Select mode):这个模式和无模式编辑器的行为比较相似。这个模式中,可以用鼠标或者光标键高亮选择文本,不过输入任何字符的话,Vim会用这个字符替换选择的高亮文本块,并且自动进入插入模式。

     命令行模式(Command line mode):在命令行模式中可以输入会被解析成并执行的文本。在命令执行之后,Vim返回到命令行模式之前的模式,通常是普通模式。

     Ex模式(Ex mode):在使用:visual命令离开Ex模式前,可以一次执行多条命令。 

     常用的是普通模式、插入模式和命令行模式。  

      三种常用模式的切换

     vim启动进入普通模式,处于插入模式或命令行模式时只需要按Esc或Ctrl+[即可进入普通模式。在普通模式中按i(插入)或a(附加)键都可以进入插入模式,在普通模式中按:进入命令行模式。命令行模式中输入wq回车后保存并退出vim。

     进入Vim

     使用Vim命令进入vim界面。

     $ vim practise.txt  //直接使用vim也可以打开vim编辑器,但不是打开任何文件。

     在进入vim后,按下i键进入插入模式。按Esc进入普通模式,在该模式下使用方向键或h(左)、j(下)、k(上)、l(右)键移动光标。w移动到下一个单词,b移动到上一个单词。

     按以下键可进入插入模式,并可以从相应的位置开始输入。

     i:在当前光标处进行编辑    I:在行首插入   A:在行末插入   a:在光标后插入编辑     o:在当前行后插入一个新行

     O:在当前行前插入一个新行   cw:替换从光标所在位置后到一个单词结尾的字符

     保存文档:在普通模式输入:进入命令模式,输入w回车,保存文档。输入:w 文件名可以将文档另存为其他文件名或存到其他路径下。

     退出Vim

     普通模式输入:进入命令行模式后,输入wq回车,保存并退出编辑。

     :q!   强制退出,不保存

     :q    退出

     :wq!  强制保存并退出

     :w <文件路径>  另存为

     :saves   另存为

     :x      保存并退出

     :wq    保存并退出

     在普通模式下退出vim:Shift+zz  

      删除文本

     普通模式下删除vim文本信息

     x:删除游标所在的字符     X:删除游标所在前一个字符    Delete:同x      dd:删除正行     dw:删除一个单词

     d$或D:删除至行尾   d^:删除至行首    dG:删除到文档结尾处   d1G:删至文档首部

     

  • 相关阅读:
    spring5 源码深度解析----- Spring事务 是怎么通过AOP实现的?(100%理解Spring事务)
    spring5 源码深度解析----- @Transactional注解的声明式事物介绍(100%理解事务)
    spring5 源码深度解析----- AOP目标方法和增强方法的执行(100%理解AOP)
    spring5 源码深度解析----- AOP代理的生成
    spring5 源码深度解析----- 创建AOP代理之获取增强器
    spring5 源码深度解析----- AOP的使用及AOP自定义标签
    spring5 源码深度解析-----ApplicationContext容器refresh过程
    Netty源码分析 (十二)----- 心跳服务之 IdleStateHandler 源码分析
    Netty源码分析 (十一)----- 拆包器之LengthFieldBasedFrameDecoder
    Netty源码分析 (十)----- 拆包器之LineBasedFrameDecoder
  • 原文地址:https://www.cnblogs.com/forerver-elf/p/4595427.html
Copyright © 2011-2022 走看看