2011-09-01 136 views
1

我有一堆为vim安装的插件,其中一个插件正在打破dw命令。我不确定它是哪一个。现在基本上dw现在通过它找到的下一个空白字符删除所有内容,而不是停止在标点符号上。防止插件重新映射vim中的密钥

我真的不想弄清楚哪一个是打破它,以及如何解决它。有没有一种方法可以在我的.vimrc中指定我不想更改它?

编辑:

吕克已经回答了我的问题,但我想我还是会明确它为未来的读者,因为有过什么dw应该在默认情况下做一些分歧。可以说我们有1234.5678这个词。默认情况下,在我所处理的所有系统上,如果光标位于1上,则键入dw应该使用.5678。当我问这个问题时,输入dw代替我删除整个事物(1234.5678)。

+0

您正在寻找'de'。 'd'代表删除,后面是运动'e',后面是'word'结尾。你可以在'WORD'结尾使用'E'。更多帮助:':h word-motionions' –

回答

2

我不认为你正在寻找正确的事情。搜索代替它(?英尺)的插件是压倒'isk' - 仍然冗长 - >:verbose set isk

:h w 
:h word 
+0

好猜!我没有想过...... – lucapette

+2

然而,它是你给了我这个想法;)由于'dw'是命令+动作,它不太可能被映射。那么它可能会发生,但我从来没有见过它。不像'&isk'让我头疼一些文件类型。 –

+0

完美,谢谢!我发现一个地方isk被覆盖,删除线,现在都很好。 – Spike

4

dw不是映射。 d是一个接受motion的命令,正确的行为正是您所描述的行为。 dw代表删除单词,并做到这一点:)。顺便说一句,如果你想了解一下你的映射,我建议你试试下面的命令:

:map 

,让你所有的映射列表。和美妙:

:verbose map <c-s> 

,让你对给定的映射信息(在我们的例子<c-s>

3

如果问题不是由@Luc Hermitte提到“iskeyword”选项,那么有两种possibilites:

  1. 正常模式映射,重映射ddw。命令来检查它是否是问题:

    verbose nmap d 
    

    。它会报告所有d*映射,包括d本身和dw。我不认为会有很多。

  2. 经营者等待的映射重新映射w。检查使用

    verbose omap w 
    

我不认为,虽然任何插件作者是足够嚣张重新映射这一点,所以首先检查@Luc Hermitte的答案。