VSCodeVim / Vim

:star: Vim for Visual Studio Code
http://aka.ms/vscodevim
MIT License
13.73k stars 1.31k forks source link

Have command line use InputBox #3602

Open andyearnshaw opened 5 years ago

andyearnshaw commented 5 years ago

Is your feature request related to a problem? Please describe. When I press : to enter ex-mode and start typing a command, it takes a while for my eyes to scan for the location of the command. I've been using VSCodeVim for several weeks and this doesn't seem to be improving. The status bar is too small and too out of the way and the visual change is not strong enough to draw my eyes to it.

Furthermore, the cursor position is emulated in the status bar. It just looks weird and has been the subject of a few bugs.

Describe the solution you'd like I'd like it to be way more obvious that I'm typing a command. The input for command palette is ideal; it's large, appears at the top, has borders, is an intuitive place to look. It's also modal, so cannot be affected by other plugins listening to key events.

Vim's command input was actually below the status bar, so it's not like VSCodeVim is properly emulating it anyway (though understandably so). Although I think something better should be the default, I also realise I'm fairly strongly opinionated, so would happily accept an option to change it.

andyearnshaw commented 5 years ago

I closed this because I spotted https://github.com/VSCodeVim/Vim/issues/2773, which shows it used to work this way. However, it looks like Vim now supports events on the InputBox and QuickPick lists, so things like history and completion could be implemented, so maybe this could be reconsidered?

notskm commented 5 years ago

Using the command palette would be a massive improvement in my opinion. The status bar is just bad. I don't think being like Vim in this situation is a good thing.

I've had the same issues. The current input is tiny, hard to find, and it's very buggy.

J-Fields commented 4 years ago

This is possible with the vim.showQuickpickCmdLine command. You lose out on some keybindings and such, though.

tony-sol commented 3 months ago

Get almost what i want with this:

"vim.normalModeKeyBindings": [
    {
        "before": [
            ":"
        ],
        "commands": [
            "vim.showQuickpickCmdLine",
        ],
        "silent": true
    }
],