vim编辑器和bash算术入门

vim末行模式:

      内建的命令行接口

     (1)地址界定

         :start_pos[,end_pos]

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

          . :当前行;

         $:最后一行;

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

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

         . , $-1 从当前行倒数最后一行

         1,$

         %:全文

        /pattern:从光标所在处起始向文件尾部第一次被模式所匹配到的行;

         /first/,$

        /pat1/,/pat2/:从光标所在处起始,第一次有pat1匹配到的行开始,至第一次有pat2匹配到的行解释直接的所有行;

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

        d

        y

        c

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

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

(2)查找

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

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

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

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


(3)查找并替换

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

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

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

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

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

       直接引用查找模式匹配到全部文本;使用&符号

       修饰符:

       i :忽略大小写;

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

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

       s@@@

       s###

       示例:%s\<t\([[:alpha:]]\+\)>@T\1@g

       %s@\<t[[:alpha:]]\+\>@&er@g


  练习:1、复制/etc/grub2.cfg文件至/tmpz目录中,用查找替换命令删除/tmp/grup1.cfg文件中一空白字符开头的行的行首的空白字符;

           %@^[[:space:]]\+@@

  2、复制/etc/rc.d/init.d/functions文件至/tmp目录中,用查找替换命令为/tmp/functions文件的每个以空白字符开头的行的行首加上#;

          %s@^[[:space:]]\+[^[:space:]]@#&@g

  3、为/tmp/grub2.cfg文件的前三行的行首加上#号;

 

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

      %s\(enabled\|gpgcheck\)=0@1=1@g


  vim的编辑功能:

     多文件:

     vim FILE1 FILE2…

  在文件间切换:

        :next 下一个

        :prev 上一个

        :first 第一个

        :last 最后一个

  退出所有文件:

       :wqall  保存所有文件并退出;

       :wall   保存所有文件

       :qall   退出所有文件

  多窗口:

       -o:水平分割窗口

       -O:垂直分割窗口

       在窗口间切换:Ctrl+w,ARROW

       注意:单个文件也可以分割为多个窗口进行查看:

       Ctrl+w,s:水平分割窗口

       Ctrl+w.v:垂直分割窗口

  定制vim的工作特性:

       注意:在末行模式下的设定,仅对当前vim进程有效:

       永久有效:

       全局:/etc/.vimrc

       用户个人:~/.vimrc

            

  1、行号

     显示:set number,简写为set nu

     取消为:set nomber  简写为set nonu

  2、括号匹配高亮

     匹配:set showmatch, set sm

     取消:set nosm

  3、自动缩进

     启用:set ai

     禁用:set noai

  4、高亮搜索

     启用:set hlsearch

     禁用:set nohlsearch

  5、语法高亮

     启用:syntax on

     禁用:syntax off

  6、忽略字符大小写

      启用:set ic

      禁用:set noic

  7、获取帮助:

     :help

     : help subject

  课外作业:如何设置tab键缩进4个字符;

  bash 脚本编程之算术运算

     +,-,*,/,**,%

   (1)let VAR=算术运算表达

   (2)VAR=$[算术运算表达式]

   (3)VAR=$((算术运算表达式))

   (4)VAR=$(expr $arg1 $OP $arg2)

      注意:乘法符号在有些场景中需要使用转义符;




                   

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

(0)
shadowshadow
上一篇 2016-12-23 01:17
下一篇 2016-12-23 01:38

相关推荐

  • linux中的vim

    什么是vim:     Linux 在命令行下的文本编辑器,很多个别软件的编辑接口都会主动调用vim,所以在 Linux 的系统中使用文字编辑器来编辑你的Linux参数配置文件,在 Linux 的世界中,绝大部分的配置文件都是以 ASCII 的纯文本形态存在,因此利用简单的文字编辑软件就能够修改设置.所有的Unix L…

    Linux干货 2016-08-11
  • N25期第五周作业

    1.显示当前系统上root、fedora或user1用户的默认shell grep -E ‘^(root|ftp|sync)’ /etc/passwd|cut -d: -f7 2.找出/etc/rc.d/init.d/functions文件中某单词后面跟一组小括号的行,形如:hello() grep ‘\b.*\b()’ /etc/rc.d/init.d/f…

    Linux干货 2016-12-26
  • 文件处理工具系列(二):行编辑器sed

    1、sed介绍     sed(Stream EDitor),是一种行编辑工具,它一次处理一行内容。处理时,把当前匹配到的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令对这些数据做出相应的增删改查操作,处理完成后,默认输出至屏幕,而未被匹配到的行也将默认输出至屏幕。而原来的文件内容并没有发生改变,除…

    Linux干货 2016-08-11
  • 处理文本的工具sed,vim 编辑器的使用 Linux版

    处理文本的工具sed Stream EDitor 行编辑器 sed一次处理一行的内容,处理时,将当前处理的行存储在临时缓冲区,称为“模式空间”,接着用sed命令处理缓冲区中的内容,处理完成后,将缓冲区的内容送往屏幕,接着处理下一行不断重复,直到末尾。            一次处理一行 文件&#82…

    Linux干货 2016-08-11
  • Centos图形界面和命令界面模式切换

    大家都知道,centos有两种用户界面模式,一种是图形界面,也就是我们常说的Xwindows界面;另一种就是命令界面。有时因为方便需要在图形模式下安装一些程序,因图形界面占用的内存等资源较大,影响系统的运行,安装完后需要把系统切换到命令模式下运行,下面就两种模式如何进行切换做一下说明。 CentOS的启动模式共分为7级,分别是: 0-  停机 1-…

    系统运维 2015-07-19
  • Linux命令date命令详解

    在linux环境中,熟练运用date命令来表示自己想要表示的时间,肯定可以给自己的工作带来诸多方便,下面是详细的使用说明和示例 在linux环境中,不管是编程还是其他维护,时间是必不可少的,也经常会用到时间的运算,熟练运用date命令来表示自己想要表示的时间,肯定可以给自己的工作带来诸多方便。 1.命令格式:date[参数]… [+格式] 2.命…

    2017-07-18