1

我为 vim 安装了一堆插件,其中一个正在破坏dw命令。我不确定它是哪一个。现在基本上dw是通过它找到的下一个空格删除所有内容,而不是像应该的那样在标点符号处停止。

我真的不想弄清楚是哪个破坏了它以及如何修复它。有没有一种方法可以在我的 .vimrc 中指定我不希望它改变?

编辑:

dwLuc 已经回答了我的问题,但我想我仍然会为未来的读者澄清它,因为对于默认情况下应该做什么存在一些分歧。假设我们有单词 1234.5678。默认情况下,在我使用过的所有系统上,如果光标在 1 上,输入dw应该会留下 0.5678。当我问这个问题时,为我输入 dw 反而删除了整个内容(1234.5678)。

4

3 回答 3

4

dw不是映射。d是一个接受动作的命令,正确的行为正是你所描述的。dw代表删除词并这样做:)。顺便说一句,如果您想了解有关映射的信息,我建议您尝试以下命令:

:map

它为您提供了所有映射的列表。美妙的:

:verbose map <c-s>

为您提供有关给定映射的详细信息(在我们的例子中<c-s>

于 2011-09-01T13:45:26.103 回答
3

如果问题不在@Luc Hermitte 提到的“iskeyword”选项中,那么有两种可能性:

  1. 重新映射ddw. 检查是否有问题的命令:

    verbose nmap d
    

    . 它将报告所有d*映射,包括d它自己和dw. 我不认为会有很多。

  2. 重新映射的运算符待定映射w。检查使用

    verbose omap w
    

我不认为任何插件作者都傲慢到足以重新映射这个,所以首先检查@Luc Hermitte 的答案。

于 2011-09-01T19:39:33.757 回答
2

我不认为你在寻找正确的东西。而是搜索哪个(ft?)插件被覆盖'isk'- 仍然是冗长的 ->:verbose set isk

:h w 
:h word
于 2011-09-01T14:08:13.670 回答