[英]vim mapping problem in vimrc file but can not find the mapping that I set
我正在使用 vim-markdown-toc 插件(已成功安裝)並希望將一些熱鍵重新映射到特定功能。 我將此代碼autocmd Filetype markdown noremapb <silent> <Cx> :GenTocMarked
到我的 .vimrc 文件中。 但是當我輸入:verbose imap <Cx>
時,它顯示找不到映射。
誰能告訴我這有什么問題?
而且我還想問如何將一個熱鍵映射到多個功能?
autocmd Filetype markdown noremapb <silent> <C-x> :GenTocMarked
有兩個明顯的錯誤:
noremapb
應該是noremap
,沒有b
:
noremap <silent> <Cx> :GenTocMarked
最后應該有一個<CR>
:
noremap <silent> <Cx> :GenTocMarked<CR>
映射的右側是一個宏:由於您按<CR>
執行命令:GenTocMarked
,因此它應該存在於 RHS 中。
然后是診斷錯誤: :map
命令及其非遞歸伙伴:noremap
為正常、可視和操作符掛起模式創建映射,但是:imap
打印出插入模式映射,所以你不能指望它找到使用:map
創建的映射。
然后是語義錯誤: noremap
中的re
是nore
(非遞歸的縮寫)的一部分,而不是remap
的一部分。 <Cx>
不是映射,因此您不會“重新映射”任何東西。
然后是范圍錯誤: :noremap
為三種模式創建映射,這可能是您不想要的。 你應該更具體:
" normal mode mapping
nnoremap <silent> <C-x> :GenTocMarked<CR>
最后,自動命令濫用錯誤:已經有一個用於獲取文件類型特定配置的內置機制,因此無需在vimrc
中重新發明輪子:
" in after/ftplugin/markdown.vim
nnoremap <buffer> <silent> <C-x> :GenTocMarked<CR>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.