我正在使用vim-markdown-toc插件(成功安装),并希望重新Map一些热键到特定的功能。我导出此代码autocmd Filetype markdown noremapb <silent> <C-x> :GenTocMarked到我的。vimrc文件。但当我键入:verbose imap <C-x>,它显示找不到Map。谁能告诉我这有什么问题吗?我还想问一下如何将一个热键Map为多个功能?
autocmd Filetype markdown noremapb <silent> <C-x> :GenTocMarked
:verbose imap <C-x>
xkrw2x1b1#
有两个明显的错误:
noremapb
noremap
b
noremap <silent> <C-x> :GenTocMarked
1.结尾处应该有一个<CR>:
<CR>
noremap <silent> <C-x> :GenTocMarked<CR>
Map的右侧是一个宏:因为您按<CR>执行命令:GenTocMarked,所以它应该出现在RHS中。然后是诊断错误::map命令及其非递归伙伴:noremap为正常、可视和操作员挂起模式创建Map,但:imap打印出 insert mode Map,因此您不能指望它真的找到使用:map创建的Map。然后是语义上的错误:noremap中的re是nore(非递归的缩写)的一部分,而不是remap的一部分。<C-x>不是Map,因此您没有“重新Map”任何内容。然后是范围界定错误::noremap创建了三种模式的Map,这可能是您不希望看到的。您应该更具体一些:
:GenTocMarked
:map
:noremap
:imap
re
nore
remap
<C-x>
" normal mode mapping nnoremap <silent> <C-x> :GenTocMarked<CR>
最后是自动命令滥用错误:已经有一个内置的机制用于获取特定于文件类型的配置,因此不需要在vimrc中重新发明轮子:
vimrc
" in after/ftplugin/markdown.vim nnoremap <buffer> <silent> <C-x> :GenTocMarked<CR>
1条答案
按热度按时间xkrw2x1b1#
有两个明显的错误:
noremapb
应该是noremap
,而不是b
:1.结尾处应该有一个
<CR>
:Map的右侧是一个宏:因为您按
<CR>
执行命令:GenTocMarked
,所以它应该出现在RHS中。然后是诊断错误:
:map
命令及其非递归伙伴:noremap
为正常、可视和操作员挂起模式创建Map,但:imap
打印出 insert mode Map,因此您不能指望它真的找到使用:map
创建的Map。然后是语义上的错误:
noremap
中的re
是nore
(非递归的缩写)的一部分,而不是remap
的一部分。<C-x>
不是Map,因此您没有“重新Map”任何内容。然后是范围界定错误:
:noremap
创建了三种模式的Map,这可能是您不希望看到的。您应该更具体一些:最后是自动命令滥用错误:已经有一个内置的机制用于获取特定于文件类型的配置,因此不需要在
vimrc
中重新发明轮子: