剪切,複製和選中(Cut and Paste)
命令 | 作用 | 命令 | 作用 | 命令 | 作用 |
---|---|---|---|---|---|
d | 剪切 | dd | 刪除一行 | [N]dd | 刪除N行 |
y | 複製 | yy | 複製一行 | [N]yy | 複製N行 |
p | 粘貼 | yw | 複製一個單詞 | dw | 刪除一個單詞 |
x | 刪除後一個字符 | X | 刪除前一個字符 | D | 刪除一行最後一個字符 |
u | 撤銷上一步操作undo | Ctrl + r | 恢復上一步操作redo | ||
v | 選中一個和多個字符,兩次按v, 取消選擇 | V | 選中一行 | ||
set number | 顯示行號 | set nonumber | 不顯示行號 | ||
set autoindent | 自動對齊 | set noautoindent | 取消自動對齊 | ||
1,5s/mail/gmail/g | 全局替換(1-5行) | 1,$s/mail/gmail/g | 全局替換 |
ggVG 選中全部的文本, 其中gg爲跳到行首,V選中整行,G末尾
選中後就可以用編輯命令對其進行編輯,如
y 複製 (默認是複製到"寄存器)
p 粘貼 (默認從"寄存器取出內容粘貼)
"+y 複製到系統剪貼板(也就是vim的+寄存器)
"+p 從系統剪貼板粘貼
光標移動
命令 | 作用 | 命令 | 作用 | 命令 | 作用 | 命令 | 作用 |
---|---|---|---|---|---|---|---|
h | 左 | j | 下 | k | 上 | l | 右 |
Ctrl+f | 上一頁 | Ctrl + b | 下一頁 | ||||
^ | 一行開頭 | $ | 一行結尾 | ||||
gg | 文檔第一行 | G | 文檔最後一行 | [N]G | 文檔第N行 | ||
編輯
命令 | 作用 | 命令 | 作用 | 命令 | 作用 |
---|---|---|---|---|---|
J | 合併下一行到上一行 | r | 替換光標所在的一個字符 | . | 重複最後一個命令 |
~ | 大小寫轉換 | s | 刪除光標所在的一個字符,光標還在當行,並進行編輯模式 | S | 刪除光標所在行,光標還在當行並進行編輯模式 |
[N]>> | 一行或N行往右移動一個tab | [N]<< | 一行或N行往左移動一個tab |
搜索
命令 | 作用 |
---|---|
/pattern | 搜索 |
?pattern | 往後搜索 |
n | 搜索結果前一個目標 |
N | 搜索結果後一個目標 |
關閉
命令 | 作用 |
---|---|
:w | 保存 |
:wq , :x | 保存並關閉 |
:q | 關閉 |
:q! | 放棄修改強制關閉 |
ZZ | 保存當前文件並退出 |
窗口操作
命令 | 作用 |
---|---|
:split | 水平方向分割出一個窗口 |
:vsplit | 垂直方向分割出一個窗口 |
:close | 關閉窗口 |
Ctrl + W | 切換窗口 h到左邊窗口,j到下方窗口,k到上方窗口,l到右邊窗口 |
常見情況
如何將window/linux環境下的內容複製至vim中?如:將網頁內容複製至vim中。
在windows/linux環境下複製(Ctrl+C),再到VIM中進入插入模式,Shift+Ctrl+V,粘貼成功!
在windows/linux環境下複製(Ctrl+C),再到VIM中進入插入模式,Shift+Insert,粘貼成功!
如何將vim中的內容複製至window/linux環境下?如:將vim內容複製到瀏覽器搜索框中
在vim任何模式下,都可以使用Shift+Ctrl+C進行vim內容複製,然後使用Ctrl+V能將複製的東西粘貼至
vim粘貼板的基礎知識
vim有12個粘貼板,分別是0、1、2、…、9、a、“、+;
用:reg命令可以查看各個粘貼板裏的內容。在vim中簡單用y只是複製到“(雙引號)粘貼板裏,同樣用p粘貼的也是這個粘貼板裏的內容;
要將vim的內容複製到某個粘貼板,需要退出編輯模式,進入正常模式後,選擇要複製的內容,然後按"Ny完成複製,其中N爲粘貼板號(注意是按一下雙引號然後按粘貼板號最後按y),例如要把內容複製到粘貼板a,選中內容後按"ay就可以了,有兩點需要說明一下:
(1)“號粘貼板(臨時粘貼板)比較特殊,直接按y就複製到這個粘貼板中了,直接按p就粘貼這個粘貼板中的內容;
(2)+號粘貼板是系統粘貼板,用"+y將內容複製到該粘貼板後可以使用Ctrl+V將其粘貼到其他文檔(如firefox、gedit)中,同理,要把在其他地方用Ctrl+C或右鍵複製的內容複製到vim中,需要在正常模式下按"+p;
要將vim某個粘貼板裏的內容粘貼進來,需要退出編輯模式,在正常模式按"Np,其中N爲粘貼板號,如上所述,可以按"5p將5號粘貼板裏的內容粘貼進來,也可以按"+p將系統全局粘貼板裏的內容粘貼進來。
注意:在我這裏,只有vim.gtk或vim.gnome才能使用系統全局粘貼板,默認的vim.basic看不到+號寄存器。