Vim:从第一个单词到前一行的追加行

时间:2013-01-22 19:34:00

标签: vim

这应该太简单了,但是我想知道很久没有看到这个问题,很难找到。

我经常想从一行中的某个位置删除到下一行代码的开头。例如,在C-ish语法中,假设我想删除第一个布尔值:

if (long_boolean_expression1 &&
    long_boolean_expression2) {
  /* code */
}

并获得:

if (long_boolean_expression2) {
  /* code */
}

我可以从第二行开始0wdb.。 (有什么更短或更直观的吗?必须有一个命令0w,但我找不到它。)

编辑HTML时,似乎没有任何效果。每当我需要做一些像这样的事情时:

<table>
  <tr>

进入这个:

<table><tr>

我最终在插入模式下使用退格键进行操作,因为我在正常模式下尝试执行此操作会失败,通常会删除太多并留下我:

<table<tr>  <!-- Fail! -->

我该怎么做?

2 个答案:

答案 0 :(得分:9)

尝试将光标放在l上并输入DJ

D将删除,直到光标的行尾,J将下一行加入当前行。

对于您的HTML示例,只需在第一行尝试J即可将第二行加入其中。

答案 1 :(得分:4)

SHIFT + J 将两行连接在一起。