vi从行的开头删除直到光标

时间:2013-01-09 15:29:10

标签: vim text-editor vi

我们如何使用vim从行的开头删除字符直到光标。 比如说,当光标在“w”上时,我们有一个字符串“hello world”。我们如何从“h”删除到“w”。

5 个答案:

答案 0 :(得分:90)

试试d00表示该行的开头。

答案 1 :(得分:33)

我相信以下内容应该有效( d ^ ):

d^

这假设您只想删除h,即使它前面有空格。它将离开白色空间。

答案 2 :(得分:4)

TLDR: 最简单的方法是执行以下操作

  • 使用导航模式
  • 将光标设置在所需的任何行上
      
        
    • 按dgg-这将从光标到开头的所有内容删除
    •   
    • 按dG键-这将从光标中删除所有行,直到文档末尾。
    •   

但是为什么?

gg - goes to the begin of the document
G - navigates at its very end
d - delete mode

我也在寻找带有d和行号表示法的组合,当您编辑大小如GB的大文件时,我发现它有点烦人。 想要删除前3行,您需要执行:0,d3 ,但是当文档超过100万行时,我的眼睛很难看懂这些废话...

答案 3 :(得分:2)

其他建议对我不起作用,但我使用视觉模式来实现这一目标。

我将光标移动到我想要删除的位置,然后点击v进入可视模式。然后,我点击^选择回到当前行的开头,然后点d删除所有突出显示的文本。

答案 4 :(得分:0)

不知道发生了什么,但是当我输入d0时,该行已从我的行中删除 光标位置以该行的开头。 – YouAreAwesome 17年12月14日下午6:43

确认这可行。这似乎是最简单的方法。 (您无法发表评论,因此我将其添加为答案。)

示例:在.ssh / authorized_keys中,我有:

无端口转发,无代理转发,无X11转发,command =“ echo'请以用户” centos“而不是用户” root“的身份登录。'; echo; sleep 10” ssh -rsa AAAAB3NzaC1yc2 ...

这是Amazon AWS阻止您以root用户身份登录的方式。

我将光标放在ssh-rsa中的s上,然后单击“ d0”,并完美删除了行首。