所以这就是我所拥有的
nnoremap M :marks<CR> " show marks
如果我手动键入命令并按回车键,它会显示得很好。其他没有“按 Enter 或键入命令继续”的命令也可以正常工作。M但是当我在正常模式下按时它不起作用。
我认为这种行为可能与shortmess+=A
,但事实并非如此。知道为什么会发生这种情况吗?
Vim 对 Ex 命令的解释与大多数其他语言不同,这就是为什么这是一个常见的陷阱。检查:nmap M
会显示该评论包含在映射中。
您可以通过使用命令连接器结束映射来解决此问题|
(这就是为什么您必须使用<Bar>
将其包含到映射中):
:nnoremap M :marks<CR>| " show marks
您也可以使用:execute
(此类问题的典型解决方案),但这里最好的方法可能是将注释移到单独的前一行。
罪魁祸首是尾随空格。在重新映射时,我应该注意不要添加空格和注释。
nnoremap M :marks<CR>
解决了这个问题。注意后面没有评论和空格<CR>