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
下一篇 2016-12-23

相關推薦

  • 馬哥教育網絡第21期-第1周課程練習

    第一周博客 1、描述計算機的組成及其功能。 計算機的組成:運算器、控制器、儲存器、輸入設備、輸出設備 運算器+控制器 = CPU 儲存器 = RAM(內存) I/O(輸入/輸出)設備 = 硬盤、打印機、鼠標、鍵盤、顯示器 CUP:運算和邏輯運算 儲存器:緩存和儲存數據 I/O設備:計算機與用戶交互的設備 2、按系列羅列Linux的發行版,并描述不同發行版之間…

    Linux干貨 2016-06-26
  • date命令常見用法。

    date是一個非常實用的小工具,可以查看時間,并且也可以添加選項去完成自己想完成的東西。

    Linux干貨 2017-11-13
  • Linux 文本處理,文本工具,查看,分析,統計文本文件,grep,正則表達式

    文本處理 各種文本工具,查看,分析,統計文本文件 grep 正則表達式 擴展正則表達式 sed cat -n f1 加行號(空格行都計算) cat -b f1 加行號(只計算有字符的行) cat -ns f1 加行號(壓縮空行) cat -v f1 能看windows文件的M`符號 cat -T f1 能夠顯示里面的tab空位,顯示為^I cat -A f1…

    Linux干貨 2016-08-07
  • MySQL Order By實現原理分析和Filesort優化

    在MySQL中的ORDER BY有兩種排序實現方式: 1、利用有序索引獲取有序數據 2、文件排序 在使用explain分析查詢的時候,利用有序索引獲取有序數據顯示Using index。而文件排序顯示Using filesort。 1.利用有序索引獲取有序數據         &…

    Linux干貨 2015-04-13
  • 馬哥教育第一天

    來到馬哥教育第一天,初步接觸IT,第一次寫博客,不知道寫點啥,記幾個地址吧。

    2018-03-26
  • 路由配置

      RA和RB為linux系統,此處虛擬成為路由器,在每一臺路由器的接口上設置好ip之后開始配置路由表 ip地址配置如下: RA:eth1:192.168.100.1/24    eth0:10.1.0.1/8       主機A:10.1.0.25/8 RB: eth1:192.168.100.2…

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