映射

說明

介紹映射的使用方式,這些指令都可以寫在設定檔裡。

:help index 查看內建按鍵綁定列表

:map {command} 查看 :map 指令 command 開頭的映射 例如: :map g 查看 :map g 開頭的映射

每個映射命令包含的模式

命令

一般

可視

選擇

插入

操作元等待

命令行

Lang-Arg

cmap

imap

lmap

map

map!

nmap

omap

smap

vmap

xmap

後面每個映射指令都會使用前綴字加上映射指令 例如 刪除 map 指令為 unmap 刪除 nmap 指令為 nunmap 刪除 vmap 指令為 vunmap 以此類推

映射指令說明

語法

說明

{cmd}

如上表中的 map, nmap, vmap 等

{lhs}

映射鍵

{rhs}

映射鍵執行的功能

Leader

此為設定鍵值的變數,預設為 \

silent

要在定義一個映射時不在命令行上回顯該映射 可以使用 silent 作為第一個參數

例如:

:map <silent> ,h /Header<CR>

設定 Leader

預設 leader 為 \

更改 leader

:let mapleader = ","

如上 Leader 變成 ,

使用 leader 範例 :map <Leader>a i

輸入 \a 會變成 i 假如 Leader 變數為 \ i 為插入模式

若要加在 .vimrc 需在頂部新增 因為此設定只在定義後有效

若要設定為特殊字元,需要轉義

.vimrc
" 將 leader 設定為空白鍵
let mapleader = "\<space>"

設定遞迴映射語法

{cmd} {lhs} {rhs}

前面指定模式英文加上 map map, nmap, vmap...

舉例

:imap a b 插入模式輸入 a 輸出 b

:imap b a 插入模式輸入 b 輸出 a

因為遞迴的關係 輸入 a 會輸出 b 又因為輸入 b 會輸出 a 造成無限循環,導致設定失敗 這時就要用避免遞迴映射語法

設定避免遞迴映射語法

{cmd} {lhs} {rhs}

前面指定模式英文加上 noremap noremap, nnoremap, vnoremap...

舉例

:inoremap a b 插入模式輸入 a 輸出 b

:inoremap b a 插入模式輸入 b 輸出 a

因為避免遞迴的關係 輸入 a 會輸出 b 輸入 b 會輸出 a 兩者不互相影響

刪除映射語法

刪除一個映射

{cmd} {lhs}

前面指定模式英文加上 unmap unmap, nunmap ,vunmap...

舉例

:unnmap gq 刪除 gq 映射

刪除所有映射

:mapclear 清除所有映射

常用指令

:map 顯示映射指令表

:h key-notation 查看按鍵英文名稱

特殊按鍵

特殊按鍵的符號表

符號

按鍵

<bs>

退隔鍵

<cr> 或 <enter>

Enter 鍵

<del>

Delete 鍵

<down>

箭頭下

<end>

End 鍵

<esc>

Esc 鍵

<f1> ~ <f12>

F1 ~ F12 鍵

<home>

Home 鍵

<insert>

Insert 鍵

<nop>

無操作

<pagedown>

下翻鍵

<pageup>

上翻鍵

<right>

箭頭右

<space>

空白鍵

<tab>

Tab 鍵

<up>

箭頭下

Last updated