映射
說明
介紹映射的使用方式,這些指令都可以寫在設定檔裡。
: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 需在頂部新增 因為此設定只在定義後有效
若要設定為特殊字元,需要轉義
設定遞迴映射語法
{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