vim编辑器

回顾:

    正则表达式(BRE, ERE)

    BRE:字符匹配:., [], [^]

    次数匹配:*,\?,\+,\{m\},\{m,n}

    位置锚定:^,$,\<,\>

    分组及引用:(),\1,\2,……

     ERE:

     字符匹配:.,[],[^],

     次数匹配:*,\?,\+,\{m\},\{m,n}

     位置锚定:^,$,\<,\>

     分组及引用:(),\1,\2,…..

     或者:|

        grep, egrep, fgrep

         文本过滤器: PATTERN

        -v,-o,-l,-q,-A,-B,-C

        wc, cut, sort, uniq, diff, patch

 

  vim 编辑器

      文本编辑器:

      文本:纯文本,ASCII text; Unicode,

  文本编辑种类:

     行编辑器:sed

     全屏编辑器:nano,vi

        

       vi: Visual Interface

       vim: VI Mproved

   vim:

        模式的编辑器

        基本模式:

        编辑模式,命令模式

        输入模式

        末行模式:

        内置的命令行接口;

  打开文件:

       #vim[options] [file…]

       +#:打开文件后,直接让光标处于低#行的行首:

       +/PATTERN: 打开文件后,直接让光标出于第一个被PATTERN匹配到的行的行首;

  模式转换:

       编辑模式:默认模式

       编辑模式–>输出模式;

       i: insert,在光标所在处输入

       a:append,在光标所在处后方输入;

       o:在光标所在处下方打开的一个新行

       I: 在光标所在行的行首输入;

       A:在光标所在行的行尾输入;

       O:在光标所在处的上方打开一个新行;

       输入模式 –>编辑模式

        ESC

       编辑模式–.>末行模式

       :  冒号

      末行模式–>编辑模式

        ESC

   关闭文件:

       ZZ:保存并退出

        :q 退出

        :q! 强制退出,不保存此前的编辑操作

        :wq 保存并退出

        :w.:q

        :x  保存并退出

        :w /PATH/TO/SOMEFILE

    光标跳转:

        字符间跳转

        h,l, 左右

        j,k  上下

  #COMMAND:跳转有#指定的个数的字符;

       单词间跳转

       W:下一个单词的词首;

       e:当前或后一个单词的词首;

       #COMMAND: 跳转由#指定的个数的单词

       行首行尾跳转

       ^:跳转至行首的第一个非空白字符;

       0:跳转至行首;

       $:跳转至行尾;

       

       行间跳转

       #G:跳转至指定#行的位置;

       1G,gg: 第一行;

       G:最后一行;

       句间跳转 

            )

             (

      段间跳转

             }

               {

    翻屏:Ctrl+f: 向文件尾翻一屏

            Ctrl+b: 向文件首部翻一屏

            Ctrl+d: 向文件尾部翻半屏

            Ctrl+u:向文件首部翻半屏

            Enter: 按行向后翻

   vim的编辑命令:

       字符编辑

       x: 删除光标所在处的字符;

       #x:删除光标所在处的字符;

       xp:交换光标所在处的字符与其后面的字符的位置;

       替换命令(replace):

       r: 替换光标所在处的字符:

       rCHAR      


       删除命令;

       d:删除命令,可结合光标跳转字符,实现范围删除;

       d$:

       d^:

       dw:

       de:

       db:

       #COMMAND

       dd:删除光标所在处的行;

       #dd:删除光标所在处的行起始的共#行;

       粘贴命令(p,put,paste);

       P:缓冲去中的内容如果为整行,则粘贴在当前光标所在行的下方;否则,则粘贴至当前光标所在处的后方;                      

       p::缓冲去中的内容如果为整行,则粘贴在当前光标所在行的上方;否则,则粘贴至当前光标所在处的前方;


       复制命令(yank, y):

          y:复制,工作行为相似于d命令;

          y$

          y^

          yo(零)

          ye

          yw

          yb

          COMANND

          yy:复制一整行

          #yy:复制#行

     改变命令(chang,c):

         编辑模式—>输入模式,实现删除操作;

          c$

          c^

          c0

          ce

          cw

          #COMMAND

          cc: 删除光标所在的行,并转换为输出模式;

          #cc:

     可视化模式:

        v:按字符选定;

        V:按行选定;

        结合编辑命令使用:d,c,y

    撤销(undou)操作:

         u: 撤销此前的操作;

         #U : 撤销此前的#个操作;

撤销此前的撤销:

      Ctrl+r

vim自带练习教程:vimtutor

原创文章,作者:shadow,如若转载,请注明出处:http://www.178linux.com/64539

(0)
shadowshadow
上一篇 2016-12-23 01:09
下一篇 2016-12-23 01:26

相关推荐

  • LVM详解

    一、概述     LVM全称为Logical Volume Manager,即逻辑卷管理器。LVM可以弹性的调整文件系统的容量,可以将多个物理分区整合在一起,并且根据需要划分空间或动态的修改文件系统空间。     LVM有两个版本: lvm,lvm2 二、LVM的相关概念   &…

    Linux干货 2015-04-28
  • sed的模式匹配用法探讨

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://nolinux.blog.51cto.com/4824967/1405753 [root@sunsky Desktop]# cat sunsky a b c d e f [root@sunsk…

    Linux干货 2016-08-15
  • Hadoop伪分布式模型

    # java -version # vim /etc/profile.d/java.sh export JAVA_HOME=/usr # yum install java-1.8.0-openjdk-devel # mkdir /bdapps # tar xf hadoop-2.7.4.tar.gz -C /bdapps/ # cd /bdapps # ln…

    2017-12-08
  • Linux中的网络功能概念介绍(一)

      在操作系统中,进程之间的通信是用ipc(内存基本通信)以及内存共享shm来实现本地的通信,那么如果跨主机间通信或者说是不同之间的主机用rpc(远程过程调用)以及socket套接字,用一个主机在socket中写数据,另一个主机在socket之间读数据,以实现进程通信的最终目的。   在网络功能出现之前,基本都是用电话…

    Linux干货 2016-11-23
  • 马哥教育网络班25期+第一周课程练习

    一、计算机的组成及功能     现代计算机的结构:冯诺依曼结构体系(储存程序,顺序执行),由20世纪30年代中期,美国科学家冯·诺依曼提出     冯.诺依曼结构处理器具有以下几个特点:     1:必须有一个存储器;2:必须有一个控制器;3:必须有一个运算器…

    Linux干货 2016-11-28
  • 虚拟化网络之OpenvSwitch(一)

    一、OpenvSwitch介绍  OpenvSwitch简称OVS,正如其官网(http://openvswitch.org/)所述,OVS是一个高质量、多层的虚拟交换软件,即虚拟交换机。它的目的是通过编程扩展支持大规模网络自动化,同时还支持标准的管理接口和协议(例如:NetFlow,sFlow,IPFIX,RSPAN, CLI, LAC…

    Linux干货 2016-03-27