繁体   English   中英

Vim 的密钥损坏

[英]Vim 's' Key Broken

命令模式下的s通常会删除光标下的字符并进入插入模式。 但是现在输入s打开这样的提示(在左下角)

>

而不是通常的替换模式。

我检查的内容:

  • .vimrc 中没有键被重新映射

  • :map s显示:

x  s             <Plug>Sneak_s
    n  s             <Plug>Sneak_s

那是重新映射 xs 还是 s?

什么可能导致这种行为?

编辑:我正在使用 vundle 插件管理器。 从 .vimrc 中删除这一行可以解决问题。

call vundle#end()

那不是必须的吗?

编辑 2:正如@yolenoyer 所指出的,需要 vundle#end(),或者禁用所有插件。 使用该建议,将其范围缩小到 vim-sneak 插件,该插件甚至在其文档中说:

你怎么敢重新映射 s

  • 我没有看到比映射任何其他方式改变的行为s正常命令。 真的确定没有映射吗? 请通过运行以下命令再次检查您的映射:

     :map s
  • 不要删除.vimrc中的call vundle#end()行:它会禁用您安装的所有插件。

    相反,尝试注释此行之前列出的每个插件(以Plugin开头的行),每次再次启动 vim 以检查行为是否发生变化。

关于模式的一些说明

当您在正常模式下键入s时,您不会进入任何“替换”模式,而是在删除光标前的一个(或多个)字符后进入插入模式。

您使用“替换”一词(在您的标题和问题内容中)造成的混淆是有问题的,因为它使人们认为您在谈论:s命令(它实际上可以称为......替换命令!)

Vim 的搜索和替换(替换)不需要在.vimrc添加任何模块或映射。 您可以简单地使用:%s/foo/bar/gfoo任何实例替换为bar 欲了解更多信息,请点击此处

请注意,不带:普通命令)的替换命令s可能以数字x为前缀,删除x字符并切换到插入模式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM