如何对两个不同的 (neo)vim 插件使用相同的键盘映射

How to use the same keymapping for two different (neo)vim plugins

我想映射 "Control-Space" 我用于 neovim 的两个插件:

Plug 'gaalcaras/ncm-R' (for r files)
Plug 'bfredl/nvim-ipy' (for python files)

为了在普通模式下实现这一点,我尝试了:

autocmd FileType r nmap <C-Space> <Plug>RDSendLine
autocmd FileType python nmap <C-Space> <Plug>(IPy-Run)

然而,第二个映射总是覆盖第一个(对于所有缓冲区,所有文件类型)。显然我不能让它以依赖于文件类型的方式工作。

您应该使用特定于缓冲区的映射:

autocmd FileType r nmap <buffer><C-Space> <Plug>(RDSendLine)
autocmd FileType python nmap <buffer><C-Space> <Plug>(IPy-Run)