【问题标题】:In vim, how do I delete a word?在 vim 中,我如何删除一个单词?
【发布时间】:2011-10-14 23:40:43
【问题描述】:

我的床上有一只大熊。

假设我将光标放在“bear”上,在“e”位置,我将如何完全删除“bear”这个词?

【问题讨论】:

标签: vim vi


【解决方案1】:

你可以看看这个..delete word after or around cursor in VIM。 看起来和你需要的差不多..

普通模式:

    daw : delete the word under the cursor    
    caw : delete the word under the cursor and put you in insert mode

【讨论】:

  • 是的,这正是他所需要的。当光标位于单词内的任意位置时,删除整个单词。
  • 您能解释一下这实际上是如何工作的吗? d 或 c 是动词,a 是???,w 是单词。
  • @DennisHodapp,a 代表“周围”。 daw 删除光标下的单词,以及单词前后的空白字符。
【解决方案2】:

b 跳转到单词的开头,然后 dw 删除当前单词。

【讨论】:

  • @TIMEX -- 不,一点也不傻,只是一种不同的思维方式,与daw 一样好。
  • 文本对象确实很棒,但这并不会使其他方法变得“愚蠢”。
【解决方案3】:

diw/daw! -> :h text-objects

在这里忘记bdt/bdw。

【讨论】:

    【解决方案4】:

    作为larsmans answer 的替代方法,您可以使用b 返回,然后d 删除t 中的所有内容,直到下一个空格: dt空格.

    此助记符更通用,您可以将其与多个分隔符一起使用。

    如果要向后删除,请使用dT空格。

    要了解更多左右动作,请联系:he left-right-motions 并阅读本章末尾。

    【讨论】:

    • +1 不确定它是否最适合这种情况,但它应该会派上用场。有没有办法反过来做,所以我们可以删除直到前一个空格/字符?
    • @会说话的核桃:没问题。更新了答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-03
    • 2015-06-11
    • 1970-01-01
    • 1970-01-01
    • 2014-12-01
    • 2012-07-24
    相关资源
    最近更新 更多