我们如何使用vim从行的开头删除字符直到光标。 比如说,当光标在“w”上时,我们有一个字符串“hello world”。我们如何从“h”删除到“w”。
答案 0 :(得分:90)
试试d0
。 0
表示该行的开头。
答案 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”,并完美删除了行首。