vim 指令筆記

Linux 2018-08-31 816

編輯#

指令 功能
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
2
3
4
5
6
7
8
9
10
set nu
set incsearch
set smartindent
set cursorline
syntax on
inoremap ( ()<Esc>i
inoremap [ []<Esc>i
inoremap ' ''<Esc>i
inoremap " ""<Esc>i
inoremap {<CR> {<CR>}<Esc>ko
  • set nu