天天看點

vi的複制粘貼指令

vi的複制粘貼指令

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

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

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

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

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 檔案名來恢複未儲存的内容

在GUI下:

(1)可按i進入插入模式

(2)使用滑鼠拖動反選要粘貼的内容,按滑鼠左鍵複制標明塊到緩沖區

(3)然後将光标移到要粘貼處,按滑鼠中鍵(兩鍵滑鼠可同時按左右鍵),粘貼緩沖區内容。

在純文字終端下:

(1)標明文本塊,使用v進入可視模式;移動光标鍵標明内容

(2)複制標明塊到緩沖區,用y;複制整行,用yy

(3)剪切標明塊到緩沖區,用d;剪切整行用dd

(4)粘貼緩沖區中的内容,用p

在同一編輯窗打開第二個檔案,用:sp [filename]

在多個編輯檔案之間切換,用Ctrl+w

繼續閱讀