文本编辑器vim概述与应用示例

文本编辑器vim概述与应用示例

文本编辑器概述

vim编辑器是一种易用、功能强大的文本编辑器,可以基于三种不同的模式对文本进行编辑,包括编辑模式、输入模式和末行模式。

  • 编辑模式

    • 模式转换

      i 表示在光标所在处插入
      a 表示在光标后方插入
      o 表示在光标所在处的下一行插入
      O 表示在光标所在处的上一行插入
      I 表示在光标所在行的行首插入
      A 表示在光标所在行的行尾插入
      :进入末行模式
    • 光标跳转

      字符间跳转:h(左)、j(下)、k(下)、l(右)
      单词间跳转:w(下一个单词词首)、b(当前单词词首)、e(当前单词词尾)
      行内跳转:0(当前行行首)、$(当前行行尾)、^(当前行非空白字符的行首)
      行间跳转:1G(第一行)、G(最后一行)、#G(第#行)
    • 翻屏

      ctrl+f 下一屏
      ctrl+b 上一屏
      ctrl+u 上半屏
      ctrl+d 下半屏
      enter 后一行
    • 编辑命令

      x(删除光标所在处的字符)、#x(删除从光标及向后的#个字符)
      rchar(以char字符替换当前光标处的字符)
      d(结合^、0、$、w、d、e实现范围删除)、dd(删除当前行)、#dd(删除当前行及之后的#行)
      y(结合^、0、$、w、d、e实现范围复制)、yy(复制当前行)、#yy(复制当前行及之后的#行)
      c(结合^、0、$、w、d、e实现范围删除并进入输入模式))
      p(如果复制的内容为整行,则粘贴在下一行行首,否则粘贴于光标的后方)
      P(如果复制的内容为整行,则粘贴在上一行行首,否则粘贴于光标的前方)
      v(按字符可视化选定)
      V(按行可视化选定)
      u(撤销此前的操作)、#u(撤销此前的#个操作)
      r(撤销此前的撤销)
  • 末行模式

    • 模式转换

      ESC 进入编辑模式
    • 地址定界与编辑命令结合

      .(当前行)、$(最后一行)、#(第#行)、%(全文)、/pattern/(模式匹配的行)、,(表示行范围)
      d、y、c、w(将指定的内容保存至指定的文件)、r(指定文件的内容插入指定位置)
    • 查找

      /PATTERN(向下查找匹配内容)、?PATTERN(向上查找匹配的内容)、n(与查找方向相同查找下一个)、N(与查找方向相反查找下一个)
    • 查找替换

      s/查找模式/替换内容/修饰符、修饰符(i 忽略大小写 g全部替换)、&(替换内容中使用&引用查找到的全部内容)
    • 退出

      q 退出、q! 不保存退出、wq 保存退出
  • 输入模式

    • 模式转换

      ESC 进入编辑模式
    • 直接操作

文本编辑器应用示例

  • 1.复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#

    cp -a /etc/rc.d/rc.sysinit  /tmp
      vim /tmp/rc.sysinit,在末行模式下输入%s/^[[:space:]]\+[^[:space:]]/#&/g
  • 2.复制/boot/grub/grub.conf至/tmp目录中,删除/tmp/grub.conf文件中的行首的空白字符

    cp -a /boot/grub/grub.conf  /tmp
     vim /tmp/grub.conf,在末行模式下输入%s/^[[:space:]]\+//g
  • 3.删除/tmp/rc.sysinit文件中以#开头,且后面跟了至少一个空白字符的行的#和空白字符

    vim /tmp/rc.sysinit,在末行模式下输入%s/^#[[:space:]]\+\//g
  • 4.为/tmp/grub.conf文件中的前3行的行首加#号

    vim /tmp/rc.sysinit,在末行模式下输入0,3s/^/#/g
  • 5.将/etc/yum.repos.d/CentOS-Media.repo文件中所有的enabled=0或gpgcheck=0的最后的0修改为1

    vim /etc/yum.repos.d/CentOS-Media.repo,在末行模式下输入%s/\(enable\|gpgcheck\)=0/\1=1/g

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

(0)
N27_xiaoniN27_xiaoni
上一篇 2017-08-06 20:24
下一篇 2017-08-06 22:13

相关推荐

  • Kickstart+PXE自动部署CentOS6.6

        生产环境中对于部署大量的相同系统的服务器,如果逐台安装操作系统的话是非常浪费时间的工作,还好CentOS提供了无人值守安装系统的功能,下面就详细介绍一下配置步骤。 一、配置本机的yum源     因为需要安装一些软件来达到我们的目的,所以最好先把yum源配置好。 &nbs…

    Linux干货 2015-05-12
  • Linux用户和组管理及相关命令详解

        概要:在学习Linux的初级阶段,用户管理是基础管理的重要部分,任何命令的运行,系统的正常运转,均离不开用户管理的内容,本篇就为大家介绍下Linux用户管理的一些基础概念和一些基础命令的用法。内容主要分为以下三个部分:        &nbs…

    Linux干货 2016-08-02
  • 常见RAID级别

    什么是RAID?     独立磁盘冗余阵列(RAID,Redundant Arrary of Independent Disks),旧称廉价磁盘冗余阵列(Redundant Arrary of Inexpensive Disks),简称磁盘阵列。基本思想就是把多个相对便宜的硬盘组合起来,成为一个硬盘阵列组,使性能达到甚至超过一个价格昂贵、…

    Linux干货 2016-05-29
  • Linux基础知识第一课

    一、计算机的组成:             CPU:运算器、控制器、寄存器、缓存            存储器:内存,RAM(Random …

    Linux干货 2016-09-12
  • 关于Linux系统无法启动的问题(1)

                                  &nbsp…

    2017-09-04
  • 线上多服务管理工具实例剖析

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://nolinux.blog.51cto.com/4824967/1583156        公司线上对nginx、tomcat和jar包的java应用的服务管理脚本之前都是单独分离开…

    Linux干货 2016-08-15

评论列表(1条)

  • 马哥教育
    马哥教育 2017-08-20 19:01

    VIM基本用法掌握后,可以尝试扩展一下高阶用法和一些插件功能。