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.www58058.com/64543

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

相關推薦

  • N25第二周

      1,Linux上的文件管理命令都有哪些,其常用的使用方法及其相關示例演示。        文件查看類命令:cat, tac, head, tail, more, less           分屏…

    Linux干貨 2016-12-12
  • 20160805作業-正則表達式

    http://note.youdao.com/yws/public/redirect/share?id=1e40165dc16523400e14433e71683963&type=false

    Linux干貨 2016-08-08
  • 軟件包管理(RPM和yum)

        軟件包在系統管理中,軟件包的管理是最重要的,是系統管理的基礎的基礎;只有我們學會軟件包的管理才能談得上其它的應用;本文以目錄式的文檔格式,列出新手弟兄所面對的軟件包的安裝、更新、查詢相對的文檔,以及幾個常用的軟件包管理工具。 軟件包管理:     一,RPM包管理; &n…

    Linux干貨 2016-09-06
  • centos 6系統啟動流程分析

    linux 系統啟動流程: 之前有描述過linux的啟動流程,但還有許多模糊的地方,經過一段時間了學習,查資料,看腳本,比初次理解更深,可以將上次模糊或不足的地方描述得比較清楚一些。 先看一張啟動流程圖。   分析: linux系統的啟動流程大概可以分為兩大部分: 第一部分為內核空間的啟動 第二部分為用戶空間的啟動 其中,內核空間的啟動主要可為分四…

    2017-05-15
  • 第三周練習

    1、列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次: who | cut -d” ” -f1 | uniq 2、取出最后登錄到當前系統的用戶的相關信息 id `last | head -1 | cut -d” ” -f1` 3、列出當前系統上被用戶當作默認shell的最多的那個shell cut -d: -f7 /etc/p…

    Linux干貨 2017-07-16
  • 馬哥M20-1第一周作業

    作業1:通過echo實現字體閃爍,添加下劃線,改變顏色      (1)添加下劃線    (2)字體閃爍   (3)改變顏色 作業2:顯示前10天的年月日 作業3:screen的使用

    Linux干貨 2016-07-29
欧美性久久久久