为什么我的Vim以replacemode开头?

dur*_*597 3 vim configuration

我可能不小心改变了一些设置,但现在我无法弄清楚它是什么.

行为:

  • 每当我编辑现有文件时,Vim都会以replace(R)模式启动.这是本周的新内容.
  • 每当我这样做vim nonExistantFile.txt,Vim就会以正常模式启动

到目前为止诊断的步骤:

  1. /etc/vimrc 没有任何相关性,特别是不含有 startreplace
  2. /home/<myuser>/.vimrc 没有任何相关性,特别是不含有 startreplace
  3. alias没有任何vim关系

平台信息:

  • Vim版本7.3.1314
  • Windows 7 64位
  • 32位Cygwin和Vim二进制文件

其他可能相关的信息:

  • 前一段时间(在此之前)我/etc/vimrc从我的CentOS 6.4机器复制到了Cygwin/etc/vimrc
  • 我最近编辑了一些二进制文件

我很难过,我想不出别的事.

更新:

  • 我把问题缩小到了这个/etc/vimrc片段
  • 奇怪地评论这两个命令中的任何一个解决了这个问题

Vimrc片段(注意:这确实有unix行结尾):

" Only do this part when compiled with support for autocommands
if has("autocmd")
  "<snip>
  " When editing a file, always jump to the last cursor position
  autocmd BufReadPost *
  \ if line("'\"") > 0 && line ("'\"") <= line("$") |
  \   exe "normal! g'\"" |
  \ endif
  " don't write swapfile on most commonly used directories for NFS mounts or USB sticks
  autocmd BufNewFile,BufReadPre /media/*,/mnt/* set directory=~/tmp,/var/tmp,/tmp
  "<snip>
endif
Run Code Online (Sandbox Code Playgroud)

Ove*_*ryd 7

nnoremap <ESC> :nohlsearch<CR>在我的映射中.vimrc导致了这种行为.

映射这个<Enter>解决了我的问题.