Ctrl-w in insert mode should perform a 'backwards kill word' command. This should delete the word before the cursor. If you repeat Ctrl-w, it should continue deleting words before the cursor. In VSVim, it only seems to delete words that have been made since going into insert mode. It should continue to delete text.
Thanks for reporting. I will take a look at that.
As an aside, what is the value of the backspace setting? It can affect scenarios like this.
It looks like VsVim uses a default backspace setting of backspace="". In gvim, I think the setting defaults to backspace=indent,eol,start.
From the vim documentation - "When 'backspace' is empty, Vi compatible backspacing is used. You cannot backspace over autoindent, before column 1 or before where insert started."
So it appears that it is behaving correctly according to the documentation. Maybe instead we can set the default behavior for backspace to equal backspace=indent,eol,start instead of ""?
Interestingly enough, you can still use the backspace key to delete characters that have been added before going into insert mode when the backspace setting is backspace="". However, Ctrl-w and Ctrl-u do not (this is the expected behavior). You shouldn't be able to backspace, Ctrl-w, or Ctrl-u to delete text made before going into insert mode unless backspace=start is set.
So perhaps the bug should be: backspace="" does not work as expected.
I still think the default behavior should be backspace=indent,eol,start.
The default for vim 7.2 is backspace="" which is what VsVim ended up
standardizing on. I thought that we moved to 7.3 defaults in the latest
release though. That can be changed via the options though.
Tools -> Options -> VsVim
It is possible though that there is a bug in Ctrl-W either way though. Will
look into that.
On Thursday, April 30, 2015, tmajest [email protected] wrote:
Interestingly enough, you can still use the backspace key to delete
characters that have been added before going into insert mode when the
backspace setting is backspace="". However, Ctrl-w and Ctrl-u do not (this
is the expected behavior). You shouldn't be able to backspace, Ctrl-w, or
Ctrl-u to delete text made before going into insert mode unless
backspace=start is set.So perhaps the bug should be: backspace="" does not work as expected.
I still think the default behavior should be backspace=indent,eol,start.
—
Reply to this email directly or view it on GitHub
https://github.com/jaredpar/VsVim/issues/1599#issuecomment-97977211.
Jared Parsons
http://blog.paranoidcoding.com/
http://twitter.com/jaredpar
Last time I checked, VsVim behaves the same way as vim: if you have an rcfile, backspace defaults to vi-compatible and you need to set it in that rcfile to get the more modern setting. Only when you don't have an rcfile do the user-friendly settings kick in.
I am experiencing the same issue.
VsVim seems to behave correctly after I put
set backspace=indent,eol,start
in vsvimrc. Thanks!
Can confirm that adding the above line to the .vimrc file works
Closing because :set backspace=indent,eol,start is now the default for anyone without an rcfile and set backspace= for anyone with an rcfile, exactly like gvim 8.1.
Most helpful comment
I am experiencing the same issue.
VsVim seems to behave correctly after I put
in vsvimrc. Thanks!