繁体   English   中英

Vi / vim - 从结束行删除,包括最终字符

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM