Vim autocmd未正确映射映射
我想创建一个插件,将某个localleader映射映射到函数调用 我有一个ftplugin/javascript.vim文件,其中包含以下内容:Vim autocmd未正确映射映射,vim,file-type,autocmd,Vim,File Type,Autocmd,我想创建一个插件,将某个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#funNa
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
augroup javascript\u pluginName
哎呀!
echom“插件是为JS加载的”
au FileType javascript nnoremap j:调用pluginName#pluginName#funName()
螺旋端
当我打开一个javascript文件时,消息会被打印出来,但是检查映射的组合显示没有这样的映射
我明白,nnoremap根本不会映射到其他映射之上。但是,如果我只保留nnoremap命令,而不将其放入autocmd,它将正确映射。
简单地在命令模式下执行调用也可以很好地工作
我查看了vim帮助以了解如何使用autocmd,但我看不出我使用它的方式与这里所解释的有什么区别。“艰苦学习维姆”这本书也没有帮助
有什么我遗漏的吗?我是否应该以不同的方式构建autocmd?我终于发现了问题所在! 显然,根据本文:如果您将特定于文件类型的代码放入文件类型插件中,则无需为其创建autocmd vim将文件类型设置为打开,然后运行与文件相关的ftplugin脚本,这使得样板文件变得多余 这意味着在我的ftplugin/javascript.vim文件中,我只需要映射:
nnoremap <buffer> <localleader>j :call pluginName#pluginName#funName()<cr>
nnoremap j:call pluginName#pluginName#funName()
您是否尝试了*.js
而不是javascript
?Hi@SergioAraujo是的,我尝试过,但后来我了解到FileType事件不适用于文件模式,而适用于“ft”设置的值。