74th / vscode-vim

vim emulator for Visual Studio Code
MIT License
215 stars 25 forks source link

Undo support #25

Closed neptunian closed 8 years ago

neptunian commented 8 years ago

Any reason why 'u' isn't supported for undo?

74th commented 8 years ago

Undo does not behave exactly as vim undo.

neptunian commented 8 years ago

@74th I see, though it seems to work in this Vim plugin fine: https://github.com/VSCodeVim/Vim

74th commented 8 years ago

This plugin will not support actios VSCode has. But I'll support user keybindings which call actions of VSCode and other plugins.

MarcoPeraza commented 8 years ago

74th, you have good reasons but please reconsider. Undo is a fundamental operation that any vim user does all the time. The reason for using your plugin is that my hands know how to use vim. u and ctrl-r are as ingrained as hjkl, i, and ESC. When my mind is in vim mode, u undoes and ctrl-r redoes. Given that it's a plugin for vscode, I accept that vscode's undo might not be exactly like vim's undo, but I can deal with that and it's probably going to be the same behavior as Vim's undo for almost all cases.

In the same vain, it would be nice if / just mapped to ctrl-f. It's not the same as vim but I'm fine with that. It still makes the whole experience smoother for someone with vim muscle memory, especially if they still use vim regularly as well. Another example could be having : open the command palette.

Great work on this plugin btw!

wayt commented 8 years ago

Totally agree with @MarcoPeraza, user keybindings would allow that, depend on everyone preferences.

Keep going, great work !

74th commented 8 years ago

VSCode undo goes back until last typing enter key. Extentions can't treat it. This problem is not easy... https://github.com/Microsoft/vscode/issues/4313

After making user keybinding, I will try to make a subset of vim undo.

74th commented 8 years ago

I was able to call VSCode command from u : / n N > <. In this version, when yout type u, it call vscode undo command.