映射

  • 不要在映射之后放置注释,它会破坏事物。
  • 使用: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 以进一步阅读