我想创建一个插件,将某个 localleader 映射映射到函数调用。
我有一个包含以下内容的 ftplugin/javascript.vim 文件:
augroup javascript_pluginName
au!
echom "The plugin is loaded for JS"
au FileType javascript nnoremap <buffer> <localleader>j :call pluginName#pluginName#funName()<cr>
augroup END
当我打开一个 javascript 文件时,会打印该消息,但随后检查映射的组合表明没有这样的映射。
我了解, nnoremap 根本不会映射到其他映射之上。但是,如果我只保留 nnoremap 命令,而不将其放入 autocmd,它将正确映射。只需在命令模式下执行调用也可以正常工作。
我查看了 vim 帮助以了解如何使用 autocmd,但我看不出我使用它的方式与那里解释的内容之间有什么区别。“Learn Vim the Hard Way”一书也没有帮助。
有什么我想念的吗?我应该以不同的方式构建 autocmd 吗?