我们如何使用 vim 删除从行首到光标处的字符。比如说,当光标在“w”上时,我们有一个字符串“hello world”。我们如何从“h”删除到“w”。
6 回答
试试d0
。0
表示行的开头。
我相信以下应该有效(d^):
d^
这假设您只想删除它,h
即使它前面有空格。它将离开空白区域。
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 万行时,我的眼睛很难读懂这些废话......
其他建议对我不起作用,但我使用视觉模式来实现这一点。
我将光标移动到我想删除的位置,然后点击v进入视觉模式。然后我点击^选择回到当前行的开头,然后d删除所有突出显示的文本。
不知道发生了什么,但是当我输入 d0 时,该行从我的光标位置删除到该行的开头。– YouAreAwesome 2017 年 12 月 14 日在 6:43
确认这有效。这似乎是最简单的方法。(您不能对评论进行投票,因此我将其添加为自己的答案。)
示例:在 .ssh/authorized_keys 中,我有:
no-port-forwarding,no-agent-forwarding,no-X11-forwarding,command="echo '请以用户 "centos" 而不是用户 "root" 登录。';echo;sleep 10" ssh-rsa AAAAB3NzaC1yc2 ...
这是 Amazon AWS 阻止您以 root 身份登录的方式。
我将光标放在 ssh-rsa 中的 s 上并点击 'd0' 并完美删除行首。
好吧,如果您的光标在“w”上,您将向后删除...
您可以使用 vim 的 "till" t,但向后移动它需要一个大写字母T。对于“查找”f向后移动它的F.
因此,在您的情况下,您可以删除“直到”引号符号: dT"
或者,如果更喜欢定位/查找“h”: dFh
尝试先在没有删除的情况下跳来跳去感受一下,然后您可以将动作分层作为前缀。
快乐维明!:)