为什么我在normal模式下按回车键时,我的Vim(GVim)会显示^M?

4

我的vim(gvim)出现了奇怪的现象。
就像标题所说,当我按下回车时,右下角会显示^M,大约1秒后消失,然后它会像某些“多字符”命令的第一个字符一样正常工作。

这是我的vimrc中的一些行。
au FileType * nnoremap <buffer> <CR> <C-]>
let mapleader = "\<space>"
set encoding=utf-8
set fencs=utf-8,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936
set fileencodings=utf-8,ucs-bom,chinese
set ffs=unix,dos,mac

有人能告诉我如何解决吗?

感谢Pinpin的帮助,但我的问题发生在正常模式下。

谢谢任何帮助 :)


1
你看过这篇关于奇怪的 ^M 字符的 文章 吗? - Pippin
是的,我看到了。但那不是我遇到的问题。我的问题出现在正常模式下。当我在插入模式下按回车键时,它不会显示^M字符。 - sillypenguin
如果您执行vim -u NONE,该行为是否会消失? - jthill
是的,它已经消失了。这是否意味着这是由于我的插件之一引起的? - sillypenguin
我尝试了“-u NORC”、“--noplugin”,似乎是我的vimrc中的某个命令引起了它。 - sillypenguin
我找到了原因。我的vimrc文件中有一些nnoremap <C-m>映射,我本意是将其映射为CTRL+m。谢谢@jthill,你能回答这个问题吗?这样我就可以选择你的答案了。 - sillypenguin
1个回答

3

出于内部原因<C-M><CR>(或<Enter>)是相同的。Vim在右下角短暂显示该键的原因是它正在等待其他键(并且您已经使用了:set showcmd),因为您有一个以Enter开头的映射

:nmap <CR>

(或者:nmap <C-m>)会将其列出。为避免延迟,您需要消除它/选择另一个键。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接