編輯#
| 指令 | 功能 |
|---|---|
| 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