有时vim映射插入字符而不是执行命令

有时vim映射插入字符而不是执行命令,vim,Vim,我的一些映射将打印一些字符,而不是执行我想要的命令。看起来有时候执行速度不够快。它通常发生在我快速编程输入和扩展方法之后 以该映射为例: inoremap <leader>s <ESC>:w<cr> 然后我点击回车键,代码扩展到 public function something() { | } 然后我继续实施: public function something() { return "something|" } 当执行s该位置的文件时

我的一些映射将打印一些字符,而不是执行我想要的命令。看起来有时候执行速度不够快。它通常发生在我快速编程输入和扩展方法之后

以该映射为例:

inoremap <leader>s <ESC>:w<cr>
然后我点击回车键,代码扩展到

public function something()
{
    |
}
然后我继续实施:

public function something()
{
    return "something|"
}
当执行
s
该位置的文件时,代码会变成:

public function something()
{
    return "something:w
"
}
这太烦人了。我的vimrc是。也许这与一些插件有关,但我真的不知道如何找出发生了什么或如何调试。当我试图重现错误时,我可以完成它,因为它是随机的。它在大多数情况下都能正常工作


提前感谢。

使用
i[nore]map
进行插入模式映射。请始终使用特定于模式的映射命令:

" insert mode mapping
inoremap <leader>s <esc>:w<cr>
插入模式映射 inoremap s:w 小测验:下面映射中的第一个字母是什么意思

n[nore]map <key> something
x[nore]map <key> something
c[nore]map <key> something
n[nore]映射某物
x[nore]映射某物
c[nore]映射某物

我没有通读所有这些内容,也没有尝试过。1.空格问题从映射中删除多余的空格。2.除非您真的知道自己在做什么,否则请使用地图的noremap版本。3.正确设置vundle。1-空格是指缩进的前导空格吗?肯定不是这样,因为我已经有很长时间遇到这个问题了很长一段时间,我的第一个vimrc版本没有任何缩进。我将尝试删除非递归映射。谢谢!@FDinoffI正在谈论映射和之后的空白(即使你看不到).Leading whitespace不重要。这实际上就是我拥有的。除了我有两个映射,一个noremap和一个inoremap。第一个应该是Nnoremap,用于正常模式。我不知道Xnoremap是什么…好吧,让我们看看,也许我所做的更改会起作用。Tks!即使这是一个示例。不要在映射后添加注释ping.@Marcelo,
inoremap s:w
在这里工作得很好。试着将你的配置一分为二,看看其他地方是否有问题。@romainl我试图禁用插件组,一次禁用几个。看起来是由它引起的,现在我正在尝试pull请求的代码。让我们看看。是的,这是一个自动配对问题。我更改了pl的源代码乌金和奇怪的行为停止了。
n[nore]map <key> something
x[nore]map <key> something
c[nore]map <key> something