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