映射
- 不要在映射之后放置注释,它会破坏事物。
- 使用
:map <F6>
查看映射到<F6>
的内容以及在哪种模式下。 - 使用
:verbose map <F6>
也可以看到它上次映射的位置。 :map
和:map!
太通用了。使用:n[nore]map
进行普通模式映射,:i[nore]map
用于插入模式,:x[nore]map
用于可视模式等。
递归映射
仅当你打算在映射中使用其他映射时才使用递归映射: ****
nnoremap b B
nmap <key> db
在这个例子中,b
在正常模式下像 B
一样工作。由于我们在递归映射中使用 b
,按 <key>
将像 dB
一样工作,而不是像 db
。
非递归映射
仅当你打算在映射中使用默认命令时才使用非递归映射,这几乎总是你想要的: ****
nnoremap <key> db
在这个例子中,我们在非递归映射中使用 b
,因此按下键将始终像 db
一样工作,无论我们是否重新映射 b
。
从映射执行命令
nnoremap <key> :MyCommand<CR>
从映射执行多个命令
nnoremap <key> :MyCommand <bar> MyOtherCommand <bar> SomeCommand<CR>
从映射调用函数
nnoremap <key> :call SomeFunction()<CR>
映射 <Plug>
映射
map <key> <Plug>name_of_mapping
见:help map-commands
,:help key-notation
和:help <plug>
。
请参阅 Vim 中的 Key Mappings 以进一步阅读