天天看點

vim模式化編輯器的使用

vim:模式化的編輯器。分為:輸入模式(插入模式);編輯模式(指令模式);末行模式。

輸入模式和編輯模式之間可以互相的轉換,編輯模式和末行模式可以互相的轉換,而末行模式轉換

到輸入模式不能直接轉換,隻能先轉換到編輯模式在轉換到輸入模式。

輸入模式轉換到編輯模式使用:ESC

編輯模式轉換到輸入模式使用:i或o或a或c

編輯模式轉換到末行模式使用::

末行模式轉換到編輯模式使用:ESC

使用vim編輯文本:

    vim FILE

    vim +n FILE 打開檔案的前n行

從編輯模式轉換到輸入模式可以使用:

    i    在目前光标所在處插入

    I    在目前光标所在的行首插入

    a    在目前光标後插入

    A    在目前光标所在行尾

<a target="_blank" href="http://blog.51cto.com/attachment/201202/142252955.jpg"></a>

    O    在光标所在行的上方打開一個新行

<a target="_blank" href="http://blog.51cto.com/attachment/201202/142221579.jpg"></a>

<a target="_blank" href="http://blog.51cto.com/attachment/201202/142348689.jpg"></a>

儲存退出:在末行模式下

    退出單個檔案時:wq

    退出打開的所有檔案時:wqall

<a target="_blank" href="http://blog.51cto.com/attachment/201202/142118578.jpg"></a>

退出不儲存:在末行模式下

    沒有對文本内容進行修改:q

    修改了文本但是不儲存:q!

    退出多個檔案:    qall

    退出多個檔案并且不儲存:qall!

在打開一個内容較多的文本時,光标的移動以及定位:在編輯模式下

    光标的移動:

        h:左 l:右 k:上 j下 在他們之間加上數字就是向某個方向移動多少位如:5h 即

光标向左移動5位

        w:移動到下一個單詞的首部

        e:移動到目前光标所在單詞的詞尾

        b:移動到目前光标所在單詞的詞首

        (:移動到前一句句首

        ):移動到後一句句首

        {:移動到前一段的段首

        }:移動到後一段的段位

        $:跳轉到光标所在行的行尾

        G:跳轉到最後一行,前面可以跟數字表示跳轉到第幾行如:5G 跳轉到第五行

        1G:表示跳轉到首部

在打開多個檔案時并且将這多個檔案分屏顯示時,在這幾個螢幕之間跳轉時:在編輯模式下

    Ctrl+f    往下翻一屏

    Ctrl+b    往上翻一屏

    Ctrl+d    往下翻半屏

    Ctrl+u    往上翻半屏

當打開檔案對其内容進行修改時:在編輯模式下

    c:修改目前光标所在的單詞

    cc:辨別删除行,前面跟上數字表示删除幾行。如在編輯模式下輸入 3cc:表示删除三行

    C:删除光标所在的行以後的内容

    x:删除光标所在的單個字元,前面跟上數字表示删除多少個字元

    X:删除光标前面的字元

    dd:删除光标所在的一整行,前面跟上數字表示删除幾行,從光标所在的行開始算起

    r:替換光标所在的單個字元

    R:替換光标所在的一整行

對于複制、剪切、粘貼:在編輯模式下

    y:複制

    d:剪切

    p:粘貼,當複制或剪切的内容為一整行時則粘貼在目前光标所在行的下方,若不為一整行

則粘貼在目前光标所在的字元後

    P:粘貼,當複制或剪切的内容為一整行時則粘貼在目前光标所在行的上方,若不為一整行

則粘貼在目前光标所在的字元前

在複制或剪切時還可以使用可視化模式指令:在編輯模式下使用

    v:代表按照字元選取

    V:代表安裝行來選取

當打開一個内容較多的文本時,而我們要修改摸個特定的字元或段時,就用到了查找:在末行模式

    /Keyword:查找Keyword

    ?Keyword:查找Keyword

在查找後需要進行修改,不需要将原有的内容删除在鍵入新的内容,我們可以直接使用替換指令:s

在末行模式下使用

    s 參數

        i:忽略大小寫

        g:全部替換

        1,$:指定替換的範圍為第一行到最後一行

        .,$:目前行到最後一行

        .,+8:目前到第八行

        .,$-1:目前行到倒數第二行

        %:全文搜尋

當修改文本内容修改錯誤或者不想修改時,可以使用撤銷指令:在編輯模式下

    u:撤銷最近一次的的操作

    ctrl+r:撤銷撤銷,即撤銷上一步的撤銷

打開多個檔案時:

    prev    跳轉到上一個

    next    跳轉到下一個

    first    跳轉到第一個

    last    跳轉到最後一個

分割視窗:

    水準分割    ctrl+w s

    垂直分割    ctrl+w v

    切換到下個視窗    ctrl+w 方向箭頭

    最上面一個    ctrl+w t

    最下面一個    ctrl+w b

    -o    水準分割多個檔案

    -O    垂直分割

設定vim的工作屬性:在末行模式下

    顯示行号:    set nu

<a target="_blank" href="http://blog.51cto.com/attachment/201202/142430318.jpg"></a>

    取消行号:    set nonu

    自動縮進:    set ai(autoindent)

    取消縮進:    set noai

而這些的設定都是在目前的shell及其子shell下有作用,當shell結束時作用就不在存在,若要長久

的有用就可可以修改vim的配置檔案

    在/etc/bimrc 控制的全體使用者的vim設定

    在使用者家目錄 ~/.vimrc 控制的是使用者自己的vim的設定

當兩者發起相同設定的沖突時,其設定作用則依照影響範圍小的設定生效

本文轉自 向陽草米奇 51CTO部落格,原文連結:http://blog.51cto.com/grass51/775437,如需轉載請自行聯系原作者