1

所以这就是我所拥有的

nnoremap M :marks<CR>       " show marks

如果我手动键入命令并按回车键,它会显示得很好。其他没有“按 Enter 或键入命令继续”的命令也可以正常工作。M但是当我在正常模式下按时它不起作用。

我认为这种行为可能与shortmess+=A,但事实并非如此。知道为什么会发生这种情况吗?

4

2 回答 2

1

Vim 对 Ex 命令的解释与大多数其他语言不同,这就是为什么这是一个常见的陷阱。检查:nmap M会显示该评论包含在映射中。

您可以通过使用命令连接器结束映射来解决此问题|(这就是为什么您必须使用<Bar>将其包含到映射中):

:nnoremap M :marks<CR>|       " show marks

您也可以使用:execute(此类问题的典型解决方案),但这里最好的方法可能是将注释移到单独的前一行。

于 2013-04-12T08:12:45.277 回答
0

罪魁祸首是尾随空格。在重新映射时,我应该注意不要添加空格和注释。

nnoremap M :marks<CR>

解决了这个问题。注意后面没有评论和空格<CR>

于 2013-04-12T07:58:08.747 回答