編輯#
指令 | 功能 |
---|---|
i | 游標位置進入編輯模式(insert mode)[1] |
I | 在游標行的第一個非空字元進入編輯模式 |
A | 在游標行的最後一位進入編輯模式 |
o | 向下新增一行,進入編輯模式 |
O | 向下新增一行,進入編輯模式 |
cc | 刪除此行,並進入編輯模式 |
ESC | 退出編輯模式 |
刪除#
指令 | 功能 |
---|---|
dd | 刪除此行 |
n dd |
刪除第 n 行 |
dG | 從游標行刪除至最後一行 |
d1G | 從游標行刪除至第一行 |
d$ | 從游標處刪除至最後一個字元 |
d0 | 從游標處刪除至第一個字元 |
游標移動#
指令 | 功能 |
---|---|
gg | 移至第一行 |
G | 移至最後一行 |
n G |
移至第 n 行 |
0 | 移至該行的最前 |
$ | 移至該行的最後 |
n Space |
向右移 n 個字元 |
n Enter |
向下移 n 行 |
標記、複製#
指令 | 功能 |
---|---|
v | 開始文字標記 |
V | 開始行標記 |
v CTRL v | 開始區塊標記 |
d | 刪除標記內容 |
y | 複製標記內容 |
yy | 複製游標行 |
yG | 從游標行複製到最後一行 |
y1G | 從游標行複製到第一行 |
y$ | 複製游標處至最後 |
y0 | 複製游標處至最前 |
p | 在下一行貼上複製或刪除的內容 |
P | 在上一行貼上複製或刪除的內容 |
CTRL R 0 | 於編輯模式中,在下一行貼上複製或刪除的內容 |
搜尋與取代#
指令 | 功能 |
---|---|
/ | 搜尋 |
/\c | 不分大小寫搜尋 |
* | 選取字串,按 * 也可以搜尋 |
? | 向上搜尋 |
?\c | 不分大小寫向上搜尋 |
n | 下一個搜尋結果 |
N | 上一個搜尋結果 |
功能#
指令 | 功能 |
---|---|
:w | 存檔 |
:w file_name |
另存新檔 |
:q | 退出 |
:wq | 存檔並退出 |
:x | 存檔並退出 |
:e file_name |
編輯其他檔案 |
:e! | 還原至檔案修改前的狀態 |
:files | 列出所有開啟的檔案 |
:n | 切到下一個開啟的檔案 |
:N | 切到上一個開啟的檔案 |
:Ex | 開啟檔案瀏覽器 |
:Ex url |
在指定路徑開啟檔案瀏覽器 |
檔案瀏覽器相關#
指令 | 功能 |
---|---|
- | 同指令 .. |
d | mkdir |
D | rmdir |
R | 重新命名 |
其他#
指令 | 功能 |
---|---|
. | 重覆上一個指令 |
! shell |
執行 shell 指令,並顯示執行結果 |
u | 還原指令 |
J | 將游標行與下一行合併 |
特殊指令#
:w !sudo tee %
:當要存檔的時候需要權限,可以用此指令來提升。"+y
:將選取的內容複製到 + 暫存器(剪貼簿),方便在其他程式中貼上。[2]
vim 在複製、刪除時,會把資料放在預設暫存器中,有 0-9A-Za-z+" 這些暫存器可選擇,其中:
- 0-9:vim 會用到 0-9,0 存放最近一次的資料
- “:預設暫存器
- +:剪貼簿暫存器
因此將資料放進 + 暫存器等同於將資料放進剪貼簿。
vim.rc 設定檔#
記錄我目前的設定檔。
1 | set nu |
set nu
Reference