簡體   English   中英

vimrc文件中的vim映射問題,但找不到我設置的映射

[英]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

有兩個明顯的錯誤:

  1. noremapb應該是noremap ,沒有b

     noremap <silent> <Cx> :GenTocMarked
  2. 最后應該有一個<CR>

     noremap <silent> <Cx> :GenTocMarked<CR>

    映射的右側是一個宏:由於您按<CR>執行命令:GenTocMarked ,因此它應該存在於 RHS 中。

然后是診斷錯誤: :map命令及其非遞歸伙伴:noremap為正常、可視和操作符掛起模式創建映射,但是:imap打印出插入模式映射,所以你不能指望它找到使用:map創建的映射。

然后是語義錯誤: noremap中的renore (非遞歸的縮寫)的一部分,而不是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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM