文本编辑器:vim 基础篇

   VI:Visual Interface,是一种文本编辑器还是全屏编辑器。

  VIM:Vi IMproved,vi的增强版,vim是模式化的编辑。

VIM的三种模式:

       编辑模式(命令模式,默认模式)

      插入模式

       末行模式(内置命令行接口)

    打开文件 

    vim + FILE 打开文件,光标处在最后一行的行首(这个比较常用)

     vim +# FILE 打开文件,光标处在第#行的行首

     vim +/PATTERN FILE:打开文件,光标处在第一个被模式(正则表       式)匹配的行的行首

模式转换 编辑模式–>插入模式

        敲i键 在光标处输入

         a  在光标所在处的后方输入

         o  在光标所在行的下方插入一新行

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

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

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

       插入模式——>编辑模式

            按ESC

       编辑模式–>末行模式
            :

       末行模式–>插入模式

            按ESC

退出文件:编辑模式 保存退出ZZ 

             不保存退出ZQ

       末行模式:q!强制退出

              wq保存退出

              x保存并退出

              w /PATH/TO/SOMEFILE另存为

常用光标跳转  

        编辑模式

          左h   #h 光标向左移动#个字符

           下j   #j 光标向下移动#个字符

           k上   #k 光标向上移动#个字符

           l右   #l 光标向右移动#个字符

        行首行尾跳转

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

           0跳转至行首

              $跳转至行尾

           行间跳转

              1G,gg第一行

              #G   第#行

              G   最后一行

vim编辑命令:

        删除 

          x 删除光标所在处的字符

          #x删除光标所在处及后面#个字符

         d$删除光标所在处到行尾的字符

         d^删除光标所在处到行首的字符

         dd删除光标所在行

         #dd删除光标所在行至#行

       替换

         r 替换光标所在处的字符

        粘贴p

          P如果缓冲器的内容为整行,则粘贴光标所在行的下方;否则粘贴在光标的后面

          p如果缓冲器的内容为整行,则粘贴光标所在行的上方;否则粘贴在光标的前面

       复制y

         y$从光标复制到行尾

            y^从行首复制到光标

            yy复制光标所在行

            #yy 复制光标所在行到#行

          

        撤销

          u撤销上一次操作

          #u撤销#次操作

        .重复上一次操作

末行模式

    地址定界

      #特定的第#行  如5表示第五行

      #,#从第一个#到第二个#行

      #,+#从第#行到向后+#行  如:3,+7表示第三行到第十行

      .光标所在行

     1$全文

     %全文

    查找并替换

        模式 s/要查找的内容/要替换的内容/修饰符  /还可用*,#代替

            修饰符:g全局引用

                 i忽略大小写

         示例删除全文行首的#

                 %s/^#//

       1为/tmp/grub.cfg文件的前三行的行首加上#号

         :1,3s/^/#&/    

        2将/etc/yum.repos.d/CentOS-Base.repo文件中所有的enabled=0替换为enabled=1,将所有的gpgcheck=0替换为gpgcheck=1

           %s#\(enbaled\|gpgcheck\)=0#\1=1#g








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

(0)
上一篇 2016-08-18 10:10
下一篇 2016-08-18 10:10

相关推荐

  • 细说CP使用

    cp详细用法和常用选项

    Linux干货 2017-11-26
  • Linux用户和组的主要配置文件及其相关命令

    Linux用户和组的主要配置文件: /etc/passwd:用户及其属性信息 /etc/shadow用户密码及其相关属性 /etc/group组及其属性信息 etc/gshadow组密码及其相关属性 /etc/passwd 1.用户名: 2.密码位:x pwconv (默认) 将密码映射到了/etc/shadow pwunconv 将密码保存到/etc/pa…

    2017-07-22
  • Hadoop新增datanode与SecondaryNameNode

    无论是新增namenode还是SecondaryNameNode,操作方法大致相同 一、如果新增datanode,需要保证namenode能无密码ssh连接到新datanode 如果是添加SecondaryNameNode,则需保证其能无密码ssh连接至各datanode和namenode,namenode也需要能无密码连接到新SecondaryNameNo…

    Linux干货 2015-03-08
  • corosync + pacemaker搭建高可用http

    一、实验图:    二、实验环境准备:  1)时间同步(172.16.2.15是时间服务器) [root@web1 ~]# crontab  -e   */5 * * * * /usr/sbin/ntpdate&nbsp…

    Linux干货 2015-06-30
  • 面向对象的实例方法,类方法和静态方法

    类方法和静态方法 普通函数 class Person: def normal_method(): print(‘normal’) Person.normal_method() # Person().normal_method() print(Person.__dict__) Person.normal_method()可以,是因为这个方法只是被Person这…

    2017-11-11
  • 设计模式(三)建造者模式Builder(创建型)

    1. 概述        在软件开发的过程中,当遇到一个“复杂的对象”的创建工作,该对象由一定各个部分的子对象用一定的算法构成,由于需求的变化,复杂对象的各个部分经常面临剧烈的变化,但将它们组合在一起的算法相对稳定。        例子1:买肯德基     &…

    Linux干货 2015-06-25