運維基礎--Linux的vim編輯器

vim/vi是unix/linux下極爲廣泛的一種文本編輯器, 大部分機器上都有 vi , 在不一樣的機器上經常使用不一樣的變種軟件 其中 vim 比較好用也用得比較普遍 vim 是 Vi IMproved 的縮寫, 表示更好的 vi 本文就說些其中比較有用, 比較經常使用的命令, 若能熟練運用這些命令, 那麼會發現編輯文件很大幫助,尤爲是作開發的人員,能快速的提升開發效率。linux

 全屏文本編輯器:shell

   vi:Visual Interfacevim

   vim:VI iMproved編輯器

 它是一種模式化編輯器:有不少工做模式,主要用到其三:ide

    1.編輯模式(命令模式)--> 默認的工做模式學習

    2.末行模式spa

    3.插入模式(輸入模式)unix

    (另外還有替換模式、可視化模式)blog

下面介紹一下vim的基本操做:開發

   1、打開(文件)方式:

     1.vi/vim:直接打開界面,如圖

       wKiom1jKO63ShfWsAAByqc-e-so499.png-wh_50

     2.vim FILE: FILE存在時,打開並將光標默認放置在第一行第一個字符;FLIE不存在,則以新        文件的方式打開,若保存,文件被建立,不保存文件消失;

     3.vim  +#  FILE 打開文件的時候光標在第#行;

     4.vim + FILE :光標定位在最後一行;

     5.vim +/PATTERN/:打開文件,將光標定位在首次被PATTERN匹配的行的行首位置;即只完成首       次匹配。

    2、關閉方式:

      末行模式的關閉:

       :q 直接關閉不保存改變的內容;

       :wq 保存並退出;

       :w 保存修改的內容

       :q! 強制退出

       :wq! 對於root來講,一些只讀文件的修改能夠強制保存退出;

      編輯模式的關閉;

        ZZ:保存並退出;

        ZQ:不保存退出;

    3、在vim編輯模式中,移動光標;

      1.逐字符移動:

            1).ARROW

            2).hjkl:左下上右

      2.逐字移動:

            w:移動到下一個字的字首;

            e:移動到字尾

            b:移動到上一個字的字首;

      3.行內跳轉;

            0:絕對行首;

            ^:相對行首;

            $:絕對行尾;

      4.行間跳轉:

            #G:直接移動至第#行;

            G:直接移動至文檔的最後一行;

            gg:第一行第一個字符;

     末行模式光標的移動

          :#直接移動至第#行

          :$最後一行

    4、翻頁/翻屏:

          Ctrl+f:向下翻一屏

          Ctrl+b:上翻一屏

          Ctrl+d:下半屏

          Ctrl+u:上半屏

    5、逐字符刪除:

          x:刪除光標所在位置的字符;

          X:刪除光標所在位置左側的單個字符;

    6、編輯模式中的萬能刪除命令;

          d:刪除光標通過的全部內容;例如dG:刪除了所在行到最後一行的全部內容;

          dd:刪除光標所在行,前能夠加#,表示刪除共#行;

          末行模式下:

            :d

            :#d

            :m,nd(從第m到第n行刪除)

            :.,$(當前行.到末尾行$刪除)

            :m,+nd(從m開始再刪除n行)


    7、編輯模式中的粘貼命令;

         p:向右向下進行粘貼;

         P:向左向上進行粘貼;

    8、編輯模式中的複製命令:

         y:相似d;複製光標所通過的全部內容;

    9、模式的切換;

      1.編輯模式到末行模式:

            :輸入命令

            /和 ?:進行查找,n和N,順序和逆序查找;

              /:自上而下

              ?:自下而上

      2.末行模式到編輯模式:

           ESC鍵

           Enter鍵

           Backspace鍵

      3.編輯模式到輸入模式:

         I:Insert 至行首並進入輸入模式;

         i:insert 光標所在位置前面插入信息;

         A:apend;光標移動至行尾並進入輸入模式;

         a:在光標所在位置的後面插入字符;

         O:Otherline光標所在行的上面插入新行

         o:         下面插入新行;

         cc:刪除整行內容以後進入輸入模式;

         C: 從光標所在位置刪除至行尾進入輸入模式;

         s:刪除光標後的一個字符,進入輸入模式;

         S:刪除整行進入輸入模式;

      4.輸入模式到編輯模式:

         ESC鍵

      5.編輯模式到替換模式:

         R:進入

      6.替換模式到編輯模式:

         ESC鍵

      7.編輯模式到可視化模式;

        v:按照字符爲單位進行矩形選取;

        V:按照行爲單位進行矩形選取;

        選取後可執行復制刪除操做;

        完成操做後返回到編輯模式;

      注意:全部模式切換必須經由編輯模式,兩種非編輯模式之間沒法直接切換;

    10、替換命令;

       r:替換光標所在位置的一個字符;

    11、 撤銷編輯操做

       u:撤銷一次此前的編輯操做

       Ctrl+r:撤銷最近的一次撤銷操做

    12、重複以前的一次編輯操做;

       .

    十3、特殊的末行命令:

      1.顯示和取消行編號:

          :set number-->set nu

          :set nonumber-->set nonu

      2.開啓或者關閉字符大小寫的區分;

         :set ignorecase-->set ic

         :set noignorecase-->set noic

      3.開啓或關閉自動縮進功能:

         :set autoindent--set ai

         :set noautoindent--set noai

      4.開啓或關閉查找高亮顯示:

         :set hlsearch 無簡寫

         :set nohlsearch--nohl

      5.開啓和關閉語法着色:

         :syntax off

         :syntax on

    十4、內容替換

       查找替換

         /pattern     向後搜索字符串pattern

         ?pattern     向前搜索字符串pattern

         n    下一個匹配(若是是/搜索,則是向下的下一個,?搜索則是向上的下一個)

         N    上一個匹配(同上)

         :%s/old/new/g   搜索整個文件,將全部的old替換爲new

         :%s/old/new/gc  搜索整個文件,將全部的old替換爲new,每次都要你確認是否替換

   

    十六:使用vim編輯多個文件:

      1.直接打開:vim FILE1 FILE2 FILE3 ...

        :next 查看編輯後一個文檔的內容

        :prev 查看編輯前一個文檔

        :first 查看編輯第一個文檔

        :last 查看編輯最後一個文檔

      2.vim -o|-O FILE1 FILE2 ...

         選項:

           -o:水平

           -O:垂直          

        光標在窗口間的切換: Ctrl+w,ARROW;#Ctrl+w,Arrow

          Ctrl+w,s:水平分屏顯示;

          Ctrl+w,v:垂直分屏顯示;


         :wa 保存all

         :qa 退出all

    

    十七:將其餘文件的內容填充至當前文件中

      末行模式下  :r /PATH/TO/SOMEFILE

    

    十八:與shell交互

     :! COMMAND 


    十九:部分另存爲

      :w /PATH/TO/SOMEFILE  所有另存爲;


      :m,nw /PATH/TO/SOMEFILE 從m到n行另存爲;

      

      :.,$w /PATH/TO/SOMEFILE 光標所在行到末尾另存爲;

 

  vim還有不少命令,這些命令均可以經過「vimtutor」這一命令得到幫助文檔,來幫助學習;

相關文章
相關標籤/搜索