如何使用 vim 删除从行首到光标的字符。 比如,我们有一个字符串“ hello world”,而光标在“ w”上。我们怎么能从“ h”删到“ w”呢。
试试 d0。 0表示行的开头。
d0
0
我认为以下方法应该可行(d^) :
d^
这假设您只想删除到 h,即使它前面有空白。它会留下空白。
h
其他的建议对我来说不起作用,但我使用视觉模式来实现这一点。
我将光标移动到我想要删除的位置,然后按下 v进入视觉模式。然后我按 ^选择回到当前行的开头,然后按 d删除所有突出显示的文本。
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万行,我的眼睛很难读这个废话..。
不确定发生了什么,但是当我输入 d0时,这一行从我的 光标位置到行的开始。-You Are Awesome Dec 14’17 at 6:43
确认这个起作用了。这似乎是最简单的方法。(你不能给一条评论投赞成票,所以我把它作为自己的回答添加进来。)
示例: 在. ssh/authored_ keys 中,我有:
No-port-forward,no-agent-forward,no-X11-forward,command = “ echo‘ Please login as user“ centos”而不是 user“ root”.”; echo; sleep 10“ ssh-rsa AAAAB3NzaC1yc2..。
这就是 Amazon AWS 阻止您以 root 用户身份登录的方式。
我把光标放在 ssh-rsa 中的 s 上,点击“0”,得到了一个对行首的完美删除。
如果你的光标在“ W”上,你会向后删除..。
您可以使用 vim 的“ till”t,但是向后移动它需要一个大写的 T。 同样的工程“找到”f向后移动它的 F。
因此,在您的情况下,您可以删除“直到”的引号: dT"
或者,如果更喜欢瞄准/找到“ h”: dFh
首先尝试跳转没有删除,以获得它的感觉,然后你可以只是在行动层作为前缀。
维姆快乐! :)
如果您处于插入模式并且希望删除到行的开始(并保持在插入模式下) ,则可以使用 CTRL+u
这与如图 给你所示的 CTRL+u的 bash 含义相匹配。
我不知道这是没有文档记录,还是只是我的设置(Ubuntu 上的 nevim)的一个怪异之处,但是做 :help CTRL-U显示了在插入模式下击键的帮助。也许有人可以帮助我找到指向我在这里描述的用法的帮助。
:help CTRL-U