It looks like there’s a bit of an issue getting the behavior of the “d” key to match Vim’s. Right now, if a selection is larger than 1 line, “d” will delete the entirety of those lines, instead of the selected characters. This becomes problematic when trying to do something like “di(” on a function definition that spans two lines, like this:
void FooBar::DoThing(std::pair<LongType, LongType> LongArgument
IndentedArgument 2 LongArgument2)
Type “di)”
Instead of getting:
void FooBar::DoThing()
The entire function is deleted.
This is due to the “motion_mode”: “auto_line” setting, but when that’s disabled, motions like “dj” and “dk” work improperly – instead of deleting the whole lines, they now only delete portions. It’s a bit of a tricky spot! Any possibility of a fix?