我的一些映射,而不是执行我想要的命令,将打印一些字符。看起来有时候执行得不够快。它通常发生在我快速编程打字和扩展方法之后。
以此映射为例:
inoremap <leader>s <ESC>:w<cr>
假装“|” (管道)是光标所在的位置。
假设我正在编写一个方法,如下所示:
public function something()
{|
然后我按Enter键,代码扩展为
public function something()
{
|
}
然后我继续实施:
public function something()
{
return "something|"
}
当执行<leader>s
该位置的文件时,代码变为:
public function something()
{
return "something:w
"
}
这太烦人了。我的vimrc是here。也许这与某些插件有关,但我真的不知道如何找出发生的事情或如何调试。当我尝试重现错误时,我可以完成它,因为它是随机的。它大多数时候都能正常工作。
提前谢谢。
答案 0 :(得分:0)
使用i[nore]map
进行插入模式映射。好吧,始终使用特定于模式的映射命令:
" insert mode mapping
inoremap <leader>s <esc>:w<cr>
测验:第一个字母在下面的映射中意味着什么?
n[nore]map <key> something
x[nore]map <key> something
c[nore]map <key> something