linux学习23 Linux运维必备技能-vim编辑器高效用法进阶

一、vim末行模式

  1、地址定界

    a、:start_pos[,end_pos]

      #特定的第#行,例如5即第5行

      .:当前行

      $:最后一行;

      #,#:指定行范围,左侧为起始行,右侧为结束行;

      #,+#:指定行范围,左侧为起始行绝对编号,右侧为相对左侧行号的偏移量;

        例如:3,+7:表示从第三行开始,然后增加七行。

           .,$-1:表示从当前行到倒数第二行

           1,$:表示全文,也可以用%表示

      /pattern/:从光标所在处开始向文件尾部第一次被这个指定的模式所匹配到的行

        /first/,$ :表示从当前光标开始第一次能被first匹配到的行开始到最后一行结束

      /pat1/,/pat2/:从光标所在处起始,第一次由pat1匹配到的行开始至第一次由pat2匹配到的行结束之间的所有行

    b、可同编辑命令一同使用,实现编辑操作

      d

      y

      c

      w /PATH/TO/SOMEFILE:将范围内的文本保存至指定的文件中;

      r /PATH/FROM/SOMEFILE:将指定的文件中的文本读取并插入至指定位置

  2、查找

    /PATTERN:从当前光标所在处向文件尾部查找能够被当前模式匹配到的所有字符串

    ?PATTERN:从当前光标所在处向文件首部查找能够被当前模式匹配到的所有字符串

      n:下一个,与命令方向相同

      N:上一个,与命令方向相反

  3、查找并替换

    a、s末行模式的命令;使用格式:

      s/要查找的内容/替换为的内容/修饰符

        要查找的内容:可使用正则表达式

        替换为的内容:不能使用正则表达式,但是可以引用;

          如果"要查找的内容"部分在模式中使用分组符号,在"替换为的内容"中使用后向引用;

          直接引用查找模式匹配到的全部文本

        修饰符:

          i:忽略大小写;

          g:全局替换,意味着一行中如果匹配到多次,则均替换

            

          图中的意思是: 1,20表示定界,即1到20行,后面的s/this/This/表示将this替换成This,不过只会替换匹配到的第一个。如果要每一行中的每一次出现都替换的话需要写成s/this/This/g。如果在替换时不想区分大小写即任何大小写字符的this都替换成This就需要写成 s/this/This/ig

      可把分隔符替换为其它非常用字符:

        [email protected]@@

        s###

        示例:替换全文中所有以小写t开头的单词通通替换为大写

          %[email protected]\<t\([[:alpha:]]\+\)\>@T\[email protected]

0:33:08

原文地址:https://www.cnblogs.com/Presley-lpc/p/12099447.html

时间: 2024-10-01 00:29:01

linux学习23 Linux运维必备技能-vim编辑器高效用法进阶的相关文章

02. SpringCloud实战项目-快速搭建Linux环境-运维必备

SpringCloud实战项目全套学习教程连载中 PassJava 学习教程 简介 PassJava-Learning项目是PassJava(佳必过)项目的学习教程.对架构.业务.技术要点进行讲解. PassJava 是一款Java面试刷题的开源系统,可以用零碎时间利用小程序查看常见面试题,夯实Java基础. PassJava 项目可以教会你如何搭建SpringBoot项目,Spring Cloud项目 采用流行的技术,如 SpringBoot.MyBatis.Redis. MySql. Mon

linux故障定位,运维必备

linux故障定位,运维必备 背景有时候会遇到一些疑难杂症,并且监控插件并不能一眼立马发现问题的根源.这时候就需要登录服务器进一步深入分析问题的根源.那么分析问题需要有一定的技术经验积累,并且有些问题涉及到的领域非常广,才能定位到问题.所以,分析问题和踩坑是非常锻炼一个人的成长和提升自我能力.如果我们有一套好的分析工具,那将是事半功倍,能够帮助大家快速定位问题,节省大家很多时间做更深入的事情. 说明本篇文章主要介绍各种问题定位的工具以及会结合案例分析问题. 分析问题的方法论套用5W2H方法,可以

马哥2016全新Linux+Python高端运维班第三周作业作答

                    马哥2016全新Linux+Python高端运维班第三周作业                                           1.列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可.     [[email protected] ~]# who | awk '{print $1 $NF}'| uniq -d     [[email protected] ~]# who     yicx     :0  

Linux服务器集群运维经验

公司大概有5000+以上的服务器节点,包括各种应用,我和同事共同维护大约2500+的服务器,主要包括一些视频cdn,直播视频cdn,webcdn和p2p服务器. 以下是自己在运维工作中的一点经验和看法,希望对大家有所帮助 1.       服务器型号的区分,为以后的统一化和标准化作硬件上的准备,很多人忽视这一点,其实如果这一点做得好会使后面的运维工作轻松很多,根据应用我们主要把服务器分为3中,cpu密集型,主要用于大量计算应用,比如p2p;内存密集型,用于cache类应用,比如squid,var

Linux+Python高端运维班第二次作业

Linux+Python高端运维班第二次作业 1.列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可. [[email protected] ~]# who |cut -d" " -f1|uniq (unknown) root test1 [[email protected] ~]# who |cut -d" " -f1|sort -u root (unknown) wangyanglin 2.取出当前系统上被用户当作其默认shel

linux学习之linux的hostname修改详解《转》

linux的hostname是一个kernel变量,可以通过hostname命令来查看本机的hostname.也可以直接cat /proc/sys/kernel/hostname查看. #hostname #cat /proc/sys/kernel/hostname 上面两种输出结果相同. 修改运行时Linux系统的hostname,即不需要重启系统 hostname命令可以设置系统的hostname #hostname newname newname即要设置的新的hostname,运行后立即生

linux学习之 Linux下的Eclipse安装

①下载Eclipse的Linux版  http://www.eclipse.org/downloads/ 选择Linux版  前三个随意选择一个连接  选择系统的版本32位的还是64位的 点击下载 ②如果是用的windows系统下载的  将文件拷贝到Linux系统里面 ,如果是Linux系统直接下载跳过此步骤    拷贝的方法:①通过samba服务                    ②U盘   比如 在/home下面建立一个Eclipse文件夹   打开终端 mkdir /home/ecli

【Linux学习】Linux的文件权限(一)

Linux操作系统是一个非常优秀的操作系统,同时也是一个多用户.多任务的操作系统.那么这就意味着会有很多的人同时使用同一个操作系统的情况.这时,对于一个用户来说,保护好自己的隐私权就成了一个很关键的问题. ★用户与用户组 "用户与用户组"能很好的解决这个问题,用户可以根据自己的意愿设置自己的文件的权限. ●  文件所有者 文件所有者顾名思义就是拥有文件的用户.如果我的用户下面有一些比较隐私的文件不希望别人看见,我就可以设置文件的权限:只有自己的用户(文件所有者)可以修改或者查看这些文件

【Linux 学习】Linux 系统结构

最近一直在编译Linux内核,往TQ2440里烧写Uboot,烧内核,烧文件系统.然后就有这么几个问题. (1)Uboot和BootLoader区别 BootLoader 从字面上讲是"启动引导器",就是用来引导操作系统启动的.而Uboot是BootLoader的一种. (2)完整的Liunx操作系统组成部分 Liunx内核: Linux内核是操作系统的核心,它负责操作系统的进程.内存.驱动程序.文件系统.网络等 主要有进程管理.内存管理.文件系统.设备驱动程序.网络组成. 文件系统: