天天看點

vi編輯器學習vi編輯器

vi編輯器

引用自:http://www.gentoo.org/doc/zh_cn/vi-guide.xml#doc_chap2

vim編輯器和vi實際上是不同的,隻不過vim向後相容了vi的指令

移動:

方向:                               K

                                  H         L

                                       J

跳到一行開始位置:           0(零)

跳到一行最後位置:           $

前進一頁:                     ^F/PGDN

後退一頁:                     ^B/PGUP

下一個詞/長詞的開始:   w/W

下一個詞/長詞的結尾:   e/E

前一個詞/長詞的開始:      b/B

前一句/後一句的開始處:     ( / )

目前段落/下一段落的開始處:{ / }

跳轉到特定的行:            G   (1G跳到首行)

搜尋/替換:

如果你想跳轉到下一處某個文本模式的出現,輸入/<regexp>後敲回車。用你正在尋找的正規表達式替換<regexp>。如果你不知道怎麼使用正規表達式,不要煩躁──輸入foo會移動到下一處foo出現的地方。對此你唯一需要注意的是,當你想引用^、.、$或/字元時,用反斜線符号(/)做這些符号的字首。比如,foo/.gif會搜尋下一處“foo.gif”的出現。

要向前重複搜尋,敲n鍵。要向後重複搜尋,輸入N。跟往常一樣,在你自己的vi編輯器裡測試這些指令。你也可以輸入//來重複上一次搜尋。

查找string:                   :/string

向後/向前重複查找:      n/N

替換目前行的首個比對: :s/rep/rep/

替換目前行的所有比對: :s/rep/rep/g

全局替換:                      :%s/rep/rep/g

全局替換前提示:                      :%s/rep/rep/gc

插入模式:

插入到目前位置之前/之後:         i/a

插入到目前行的開始/末尾:         I/A

在下面/上面開始新行的插入:     o/O

替換目前行:                               cc

替換直到(move):                       c(move)

制表:

啟動自動縮進:                        :set autoindent

向左/右縮進:                           ^D/^T(插入模式中)

設定制表大小為num:                :set tabsop=num

儲存退出:

退出到指令模式:               ESC/^C

停止vi:                        

          1.需要儲存工作後退出vi:  ZZ

          2.不儲存工作後退出vi:     :q!<cr>     (!告訴vi不要檢查是否儲存了資料)

系統失敗後的資料的恢複:     vi -r filename(不要與-R隻讀選項混淆)

模式:

以相容模式啟動vim :         alias vi="vim -C"

了解vi目前所處的模式:        set showmode 

以隻讀方式啟動vi:             vi -R filename       或       view filename

(為什麼不用less,因為vi的功能非常強大,是以許多人甯願用vi檢視檔案)

進入ex模式:                  指令模式下輸入Q,再輸入vi回到vi模式

vim是一個多模式的編輯器。就目前來看,主要有以下幾個主要模式。

  1.通常模式(n) 在其它任何一個模式下,用ESC或者 ctrl+c 鍵可以退到通常模式

  2.插入模式(i) 在這個模式下,vim像一個常見的編輯器.在通常模式下,用i或者a可以進行本模式,當然,還有一些其它指令也可以.

  3.可視模式(v) 在這個模式下,可以使用hjkl進行選擇.然後進行copy,paste或者其它操作. 在通常模式下,用v指令進行可視模式.

  4. 塊操作模式(V) 這是塊操作模式. 在通常模式下,用ctrl+v進入本模式.

  5. 修改模式(R) 這是改寫的模式.很多軟體法用insert鍵來完成這個切換.在vim中,從通常模式用R即可進入改寫模式.

  6. 擴充指令模式(ex) 這是指令執行模式 在通常模式下用:切換到此模式

多視窗:

将更改儲存到另一個檔案:   :w filename.txt

同時打開多個緩沖區(vim):         :sp filename.txt

在多個緩沖區切換:          ^w^w

編輯修改:

删除目前光标下的字元:    x

将下一行加到目前行末尾: J(大寫!)

用(char)替換目前光标下字元: r(char)

删除目前行:                 dd

從目前位置删除到(move): d(move)

撤銷:                                u

重複上一條編輯指令:       .

複合指令:

1.移動

    向右3個字元:                  3->

    向右4句:                         4)

    向左2個單詞:                   2b

2.删除

    删除後面3個單詞:            d3w

    删除本段後面的部分:       d}

    删除本句後面的部分:       d)

3.更改

    替換本句其餘部分:          c)

    替換本行後面部分:          c$

插入控制字元:                 ^V^C(輸入^C)

                                           ^V^V(輸入^V) 

制表字元:                      ^I

重新顯示各行:                 ^L

繼續閱讀