I can press $
to go to the end of the line so if I want to delete everything till EOL I can do d$
(or D
). What if I want to delete till EOL column - 1 character (or - n chars more broadly)?
I have a row 1234.567890
where .
represents the cursor and want 1234.0
(.
represents cursor again).
If there's no identical character in between (or the number of those is easily determined), the f
and t
commands are very useful, because they just involve two keystrokes (the command and the target character, possibly prepended by a [count]
), and (unlike the more generic /...<CR>
) they are limited to the current line. For your example, that would be dt0
then.
For more complex scenarios, before I stop and lengthily contemplate possible solutions, visual mode is a quick alternative that lets you iteratively fine-tune the area before applying the command. I think it's a great pragmatic addition to the original command set of vi. For your example, that would be v$hd
.