在`vi`中删除从光标到行尾的内容

在`vi`中删除从光标到行尾的内容

我知道我可能已经在我读过的所有文档中查看了这一点一百万次vi,但我似乎找不到从光标到行尾的删除命令。

答案1

D(大写字母 D)

该命令dw将从当前光标位置删除到下一个单词字符的开头。该命令d$(注意,这是一个美元符号,而不是“S”)将从当前光标位置删除到当前行的末尾。 (大写 D)是(小写 D + 美元符号)D的同义词。d$

答案2

正如其他人提到的:您可以使用d$D( shift- d) 从光标位置删除直到行尾。

我通常发现更有用的是c$C( shift- c),因为它会从光标位置删除直到行尾让你进入[INSERT]模式。

答案3

vi 的优点之一是它的逻辑命令结构。d随后是运动命令deletes 到达该运动的目标。$移动到行尾(助记符:就像在正则表达式中一样)。因此d$删除到行尾。同样,e移动到end 当前单词,并w移至下一个单词的开头w秩序; sode删除当前单词的末尾,并dw另外删除后面的空格。

答案4

我认为插入模式快捷方式可能会派上用场。

在插入模式下,也许最好开始更改直到行尾(将其放在您的~/.vimrc):

inoremap <C-l> <C-o>C

所以,正如已经说过的,D在正常模式下有+,在插入模式下有Ctrl+ 。l正如你所看到的,你也C开始改变直到行尾。

<C-o> ......... insert normal keystroke in insert mode

我选择了Ctrl——l因为l就在你的手指下。 -已用于插入二合字母Ctrlk

我一直在寻找:h i_Ctrl一些免费的按键绑定,当涉及到创建新的快捷方式来在 vim 中执行操作时,这实际上是一个更大的问题。

相关内容