Vi/Vim編輯器基礎操作

ViVisual interface)編輯器,有SUN公司的Bill Joy開發,是LinuxUnix上最基本的文本編輯器,並且它不需要圖形界面,所以它的效率很高。雖然說它是最基本的編輯器,但是它在Linux中的地位很重,就好像Edit程序在Dos上一樣。

VimVi IMproved)是Vi的加強版,比Vi更容易使用。Vi的命令幾乎都可以在Vim上使用。相對Vi來說有更多的新特性:1語法着色顯示;2更多的命令;3歷史記錄等等。

Vi模式主要有三種:1.編輯模式(命令模式):默認工作模式;2. 插入模式(輸入模式),文本信息的自由編輯;在左下角有“insert”標記;3. EX模式(末行模式),對於編輯器本身某些屬性和功能的設定;也可以進行文本的編輯操作。除了主要的三種還有替換模式,可視化模式。

下面就來說說Vi/Vim的基本操作:

 

.打開vi/vim操作界面

1.Vi/vim命令;

2.Vim file

1)File存在,就直接使用vim編輯器打開此文件,默認將光標放置與該文件的起始位置,即:第一行的第一個字符;

2)File不存在,就直接以新建文件的方式打開;若執行保存命令,則文件會被寫入磁盤;若不保存,則文件會消失;

3.vim+# file

再打開指定文件時,將光標直接定位在文件的第#行的行首;如果給定的數字比文件的行數要大,則光標停留在最後一行的行首;

4.vim +#file

打開指定文件時,直接將光標定位在文件的最後一行的行首;

5.vim+/PATTERN/

在打開指定文件時,將光標定位在首次被PATTERN匹配到的行的行首;

二關閉Vi/Vim的操作界面

Ex模式中的操作:

q

直接關閉vim編輯器,不保存修改內容;

    q

直接關閉vim編輯器,強制退出但不保存被修改的內容;

    wq

       保存已修改的內容,並關閉vim編輯器;

     wq

對於無權更改的文件強制保存,並且在強制保存之後強制關閉vim編輯器;

                  

      編輯模式中的操作:

               ZZ:保存並關閉vim編輯器;

               ZQ:不保存已經修改的內容而直接關閉vim編輯器;

.vim的編輯模式中光標的移動方式;

編輯模式中的光標移動操作:

1.逐字符移動:

1Left Arrow 或者Right Arrow

2)h:光標向左移動;l:光標向右移動;

2.逐字移動:

W:移動光標到下一個字的字首:

E:移動光標到當前字或下一字的字尾;

B:移動光標到前一字的字首;

3.行內光標跳轉:

0:絕對行首;

^:相對行首;

$:絕對行尾;

4.行間跳轉:

    1)  Up ARRow 或者Down Arrow

    2)  J:向下移動一行;k:向上移動一行;

    3)  (數字)#G:直接將光標移動至第#行;

    4)  G:將光標移動移動至文檔的最後一行;

    5)  gg:直接將光標移動至文檔的第一行;

ex模式中的光標移動:

   #:直接將光標移動至指定行號“#”的行首;

   1:直接將光標移動至文檔的第一行行首;

   $:直接將光標移動至文檔的最後一行;

.翻頁

PageDown或者PageUp可以實現翻頁;

^+f:向下翻一頁,向前翻一頁;相當於PageDown

^+b:向上翻一頁,向後翻一頁;相當於PageUp

^+d:向下翻半頁;

^+u:向上翻半頁;

.刪除字符

  編輯模式中的操作:

    1.逐字符刪除:

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

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

    2.刪除光標移動過程中所經過的所有內容

      d:刪除光標移動過程中經過的所有內容;                                dhdldjdkd+ArrowdwdedbdGdgg

     dd:刪除當前光標所在行;

  ex模式中的操作:

    d:刪除光標所在行;相當於:.d;其中“.”就是指當前行;

   #d:刪除第#行;

   mnd:刪除從m行開始到第n行結束,中間的所有行;

   +nd:刪除從第m行開始,及其後面n行的內容;

   .+nd:刪除從當前光標所在行及其後面n行的內容;

   .$d:刪除從當前光標所在行開始,到文檔末尾的所有內容;

   注意:在vi/vim的操作中,所有的刪除操作,同時意味着剪切;

.複製命令

    編輯模式中的操作:

      y:複製光標移動過程中經過的所有內容;

      yhylyjykyArrowywyeybyGyggy0y$,y^

      yy:複製當前光標所在行;

    ex模式中的操作:

     y:刪除光標所在行;相當於:.d;其中“.”就是指當前行;

     #y:刪除第#行;

     mny:刪除從m行開始到第n行結束,中間的所有行;

     m+ny:刪除從第m行開始,及其後面n行的內容;

     .+ny:刪除從當前光標所在行及其後面n行的內容;

     .$y:刪除從當前光標所在行開始,到文檔末尾的所有內容;

.粘貼命令

  編輯模式中:

pLower:如果是行內的複製或剪切操作,在光標右側粘貼;如果是多行復制或剪切操作則在光標的下方完成粘貼;

PUpper):如果是行內的複製或剪切操作,在光標左側粘貼;如果是多行復制        或剪切操作則在光標的上方完成粘貼;

  Ex模式中:

    p

.模式切換

編輯模式(命令模式):被稱爲vi編輯器的基礎工作模式;所有其他模式之間進行切換的中轉站;

1編輯模式到ex模式

“:”:表示就如ex模式並完成命令的執行;

“/”或者”?”:開啓ex模式中的匹配模式查找功能;

   /默認是自上而下的查找順序;

     ?默認是自下而上的查找順序;

   Nn命令在各個匹配的關鍵字之間跳轉;

   N表示順序查找;n表示倒序查找;

2 ex模式到編輯模式    

    雙擊Esc鍵;

    Enter鍵;

   BackSpace

3.編輯模式到輸入模式(插入模式)

    I,ia,Ao,O,s,SC,cc

 

    i:在光標在位置左側開始編輯,

    I:在行首開始輸入,

    a:在光標所在位置的右側開始插入;

    A:在行尾開始插入;

    o:當前光標所在行的下方插入一個新行;

    O:當前光標所在行的上方插入一個新行;

    s:將當前光標所在位置的字符,並插入;

    S:將光標所在行刪除,並開始插入;

    C:刪除光標所在位置知道行尾,並且在行尾開始輸入;

    cc:相當於S命令;

4.從輸入模式返回到編輯模式:

    Esc鍵;

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

R:進入替換模式

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

Esc鍵;

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

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

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

注意:

    1.在選取完成之後,可以使用d命令進行刪除,也可以使用y命令進行復制;

    2.只要選取完成,即立刻返回編輯模式

 

.替換命令:

    r:不進入輸入模式而替換光標所在位置; 

.撤銷命令:

    U:撤銷當前行內的操作;

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

 ^+r:撤銷最後一次被撤銷的操作;

十二.打開多文檔編輯

 1.vim file1 file2 file3 …

    :next 查看編輯後一個文檔

    :prev 查看或編輯前一個文檔

    :first 查看或編輯第一個文檔

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

   2.vim –o | -o file1 file2 file3 …

-o:水平打開多個窗口

^+w(鬆開以後),上下箭頭,在多個窗口間切換;

-O:垂直打開多個窗口

^+w(鬆開以後),左右箭頭,在多個窗口間切換;

十三.ex模式中的常用命令

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.開啓或關閉語法着色功能

    :syntax on

    :syntax off

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

    :set hlsearch

    :set no hlsearch或者:nohl

6.將文檔的內容另存爲:

:W  /path/to/somewhere全文另存爲

:m,nw/path/to/somewhere   部分另存爲

7.從其他文件直接讀取內容並添加到當前文件中;

        :r /path/from/somefile

8.調用shell命令、與shell交互

!COMMAND

 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章