VIM:从当前位置删除直到空格

Bla*_*ell 161 vim

通常在开发时我遇到了一个嵌套对象,我想从代码中删除这样的代码:

htmlDoc.WriteLine("<b><h3>" + this.cbAllSyncs.SelectedItem.ToString() + "</h3></b>");
Run Code Online (Sandbox Code Playgroud)

我要删除的部分是:

this.cbAllSyncs.SelectedItem.ToString()
Run Code Online (Sandbox Code Playgroud)

我知道我可以计算单词和句点的数量,然后输入7dw从当前光标位置"this"中删除.但是,我喜欢做的事情就是不用计算并用一个命令删除空间.这可能吗?

ami*_*mit 321

试试dtspace.通常dtx从当前位置删除直到之前x.只需tx将光标移动到x当前行中的字符之前.

要删除最多并包含空格,请使用dfspace.

  • `df <space>`删除最多并包括下一个空格. (27认同)
  • 我总是使用助记符`t`作为*'直到*http://stackoverflow.com/questions/7409134/english-mnemonics-to-vims-shortcuts (6认同)
  • 同样有用的是,dfT <space>会删除前一个空格. (5认同)
  • 您还可以在`t`之前添加一个计数,以删除多个字符.例如``d2t <space>`最多会删除两个空格. (3认同)
  • 这很好用!它还为我提供了一些额外的灵活性,以到达该对象内的其他某些点。谢谢! (2认同)

CMS*_*CMS 65

如果您不想删除空间本身,可以使用dWdE作为@glenn建议使用.

WORD(大写W)由非空白字符的序列,用空格隔开的.

看看动作这个.

  • 或``dE` - 删除直到非空白字符序列的末尾(不包括以下空格) (3认同)

bar*_*ley 20

一种可能的解决方案是使用删除搜索.

所以键入d/<space>并且vim将删除直到它到达空格.

  • 这比`dW'更通用,因为你也可以用它来从光标中删除任何字符,例如`2d/+`,在这种情况下 - 它也会删除String连接. (2认同)

Lou*_*uis 14

如果要从WORD内的任何位置删除,并在单个命令中,只需使用 daW

(daw如果你想限制一个词,你当然可以使用)

我使用它非常多,因为它不需要移动到这个词的开头(在你的情况下)


Nas*_*V N 6

  • 删除当前位置到特定字符示例"

    dt"
  • 从光标所在的位置删除单词,直到单词结束

    体重
  • 删除光标所在的整个单词,而不管光标在单词上的位置如何,这也会使您进入插入模式,以便您立即插入。

    迪威