我想做与此问题类似的事情VI(VIM):删除/更改从右到左?,即从行尾删除到该行中最后一个=的实例,可以使用
dT=
,光标放在行尾。
但是,这个和其他类似的命令不会删除行的最后一个字符,所以我必须添加x
。我不介意这样做,但看起来vim没有一个从当前字符删除的命令。有没有我找不到的命令?
dT=
,光标放在行尾。
但是,这个和其他类似的命令不会删除行的最后一个字符,所以我必须添加x
。我不介意这样做,但看起来vim没有一个从当前字符删除的命令。有没有我找不到的命令?
如果您的光标在行末,您可以尝试
F=D
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'
。
$l
来移动到行末加一个字符。 - jcollado