[英]Vi/vim - delete from end line including final character
我想做类似这个问题VI(VIM)的事情:从右到左删除/改变? 即从行的末尾删除到该行中=的最后一个实例,这可以使用dT=
将光标放在行的末尾来完成。
但是这个和其他这样的命令不会删除该行的最后一个字符,所以我必须在该命令中添加一个x
。 我不介意这样做,但似乎令人惊讶的是vim没有从当前角色中删除的命令。 有没有我找不到的?
如果您的光标位于该行的末尾,您可以尝试
F=D
哦,没注意到OP想要保持'='。 然后:
T=D
或者,您可以:
set virtualedit=onemore
这将允许您将光标移动到行尾的一个字符。 从那个位置, dT=
将按预期工作。
有点复杂,但更强大 - 我不确定你是打算一次做一行,还是很多......使用正则表达式替换。
single line:
^ # go to beginning of line
:s/=[^=]*$/=/ # remove everything after =
whole file:
:%s/=[^=]*$/=/gc # replace every instance in file, with prompts. remove c for no prompt.
那么使用T=d$
呢? 那会有用吗?
另一种方法是:set virtualedit=onemore
,这样你就可以: $dT=
。
参考:help 've'
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.