天天看點

Linux基礎指令小結(中)-Linux學習日記

Linux學習日記之-Linux基礎指令小結(中)

---vi編輯器

說道指令,就不得不提這個特殊的指令“vi”它不光是指令,還是一個linux下的編輯器。由于時間關系,這裡不在舉例說明,将在以後配置網絡服務時介紹一些vi的實際應用。

vi指令是linux下的全螢幕文本編輯,vi編輯器提供了豐富的編輯功能。這個編輯器十分簡陋,對于初學者很不友好。但是在linux中vi編輯器作用非常大,以後尤其我們在配置各種伺服器時修改配置檔案時十分有用。

  vi編輯器有3種模式:指令模式、輸入模式、末行模式。掌握這三種模式十分重要:

  指令模式:vi啟動後預設進入的是指令模式,從這個模式使用指令可以切換到另外兩種模式,同時無論在任何模式下隻要按一下[Esc]鍵都可以傳回指令模式。在指令模式中輸入字幕“i”就可以進入vi的輸入模式編輯檔案。

  輸入模式:在這個模式中我們可以編輯、修改、輸入等編輯工作,在編輯器最後一行顯示一個“<b>--INSERT--</b>”标志着vi進入了輸入模式。當我們完成修改輸入等操作的時候我們需要儲存檔案,這時我們需要先傳回指令模式,在進入末行模式儲存。

末行模式:在指令模式輸入“<b>:</b>”即可進入該模式,在末行模式中有好多好用的指令。

<b>      1.vi</b><b>的啟動和退出</b>

   直接輸入指令vi不指定檔案名,由于這是一個沒有命名的空檔案,顯示了vi的版本資訊。

vim是vi編輯器的改進版本,在vi編輯器的基礎上擴充了很多實用的功能。大多數linux/unix版本都使用vim代替了原有的vi編輯器。

   或者直接使用vi打開檔案,如果檔案存在打開存在檔案;如果不存在的話,将以我們指定的參數作為檔案名。

   輸入<b>q</b><b>!是強制退出</b><b>,</b>同時沒有儲存目前檔案内容。如果檔案沒有進行修改,或者已經儲存完畢也可以使用<b>q</b><b>退出</b><b>。</b><b>儲存退出</b><b>使用</b><b>wq</b><b>,</b><b>儲存強制退出</b><b>wq</b><b>!</b>

   2.儲存檔案

   如果檔案已經有檔案名,我們在末行模式直接輸入w儲存,如果沒有檔案名,輸入w 檔案名進行儲存。例如:w test其中test是檔案名。

那麼在vi中也可以另存為,就是在儲存完以後,我們再使用w 另存為檔案名。

      3.光标的移動

在指令模式中可以使用指令進行以下操作。

光标方向的移動,除了可以使用方向鍵,還可以使用以下指令

                     向上移動光标:k

  向左移動光标:h                                            向右移動光标:l

                     向下移動光标:j

翻頁指令

     Ctrl+F向前翻整頁            Ctrl+U向前翻半頁

     Ctrl+B向後翻整頁            Ctrl+D向後翻半頁

行内快數跳轉

     ^移動到本行行首

     $移動到本行行尾

顯示行号和取消行号(末行模式使用)

      set nu顯示行号

      set nonu取消行号

在指令模式下,使用以下指令可以快速的在行間跳轉

     1G跳轉到檔案首行

     G跳轉到尾行

     #G跳轉到檔案的#行

4.編輯操作

進入輸入模式指令

   i插入指令    a附加指令      o打開指令     c修改指令

   r取代指令    s替換指令      Esc退出指令

輸入模式的操作

     Home光标到行首

     End  光标到行尾

     Page Up和Page Down上下翻頁

     Delect删除光标位置的字元

删除操作(指令模式使用)

      x删除光标處的單個字元

      dd删除光标所在行

      dw删除目前字元到單詞尾包括空格的所有字元

      #x例如3x删除光标處向右的三個字元

      #dd例如3dd從目前行開始向下删除三行文本

撤銷操作

       u指令取消最近一次的操作,可以使用多次來恢複原有的操作

       U取消所有操作

       Ctrl+R可以恢複對使用u指令的操作

複制操作

      yy指令複制目前整行的内容到vi緩沖區

      yw複制目前光标所在位置到單詞尾字元的内容到vi緩存區,相當于複制一個單詞

      y$複制光标所在位置到行尾内容到緩存區

      y^複制光标所在位置到行首内容到緩存區

      #yy例如:5yy就是複制5行

      #yw例如:2yw就是複制兩個單詞

   如果要複制第m行到第n行之間的内容,可以在末行模式中輸入m,ny例如:3,5y複制第三行到第五行内容到緩存區

5.查找和替換

      vi的查找和替換功能主要在末行模式完成:

至上而下的查找

      / 要查找的字元竄,其中/代表從光标所在位置起開始查找,例如:/ work

至下而上的查找

   ?要查找的字元竄  例如:/ work

替換

      :s/old/new用new替換行中首次出現的old

      : s/old/new/g 用new替換行中所有出現的old

      :#,# s/old/new/g用new替換從第#行到第#行中出現的old

   :% s/old/new/g用new替換整篇中出現的old

   如果替換的範圍較大時,在所有的指令尾加一個c指令,強制每個替換需要使用者進行确認,例如:s/old/new/c 或s/old/new/gc

6恢複檔案

       vi在編輯某一個檔案時,會生成一個臨時檔案,這個檔案以 . 開頭并以 .swp結尾。正常退出該檔案自動删除,如果意外退出例如忽然斷電,該檔案不會删除,我們在下次編輯時可以選擇一下指令處理:

      O隻讀打開,不改變檔案内容

      E繼續編輯檔案,不恢複.swp檔案儲存的内容

      R将恢複上次編輯以後未儲存檔案内容

      Q退出vi

      D删除.swp檔案

   或者使用vi -r 檔案名來恢複未儲存的内容

   vi指令大緻給大家介紹這些,其實它的功能很強大的,我們在日常實際使用過程中不斷積累指令的使用方法,相信大家會很快掌握這個指令的。

     本文轉自yjlsy 51CTO部落格,原文連結:http://blog.51cto.com/baidu/47068,如需轉載請自行聯系原作者

繼續閱讀