VIM選擇文本塊/復制/粘貼
在正常模式下(按ESC進入)按鍵v進入可視化模式,然后按鍵盤左右鍵或h,l鍵即可實現文本的選擇。
其它相關命令:
v:按字符選擇。經常使用的模式,所以親自嘗試一下它。
V:按行選擇。這在你想拷貝或者移動很多行的文本的時候特別有用。
CTRL+v:按塊選擇。非常強大,只在很少的編輯器中才有這樣的功能。你可以選擇一個矩形塊,並且在這個矩形里面的文本會被高亮。
值得注意的是如果VIM中使用自動換行,那么直到你按ENTER換行前,VIM都會將你之前輸入的內容視為一行而不是你看到的好幾行,按塊選擇時就會按VIM中的行來選擇塊。
在選擇模式的時候使用上面所述的方向鍵和命令(motion)。比如,vwww,會高亮光標前面的三個詞。Vjj 將會高亮當前行以及下面兩行。
================================================================
================================================================
原文:http://hi.baidu.com/shadouyou/blog/item/7ccb234e5a75d1cfd0c86a55.html
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
命令前面加數字表示重復次數,加字母表示使用的緩沖區名稱。
獲取幫助,用:help [內容或命令]
https://www.cnblogs.com/xuxiuxiu/p/6270493.html