Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

(feature) Add an option to bring commandline back to old place #2773

Closed
hastebrot opened this issue Jun 26, 2018 · 17 comments · Fixed by #2781
Closed

(feature) Add an option to bring commandline back to old place #2773

hastebrot opened this issue Jun 26, 2018 · 17 comments · Fixed by #2781

Comments

@hastebrot
Copy link

hastebrot commented Jun 26, 2018

#2758 (released in v0.14.0) moves the commandline to the status bar to allow history navigation.

This forces me to activate the status bar.

It would be nice if there is an option provided to configure the place of the commandline.

@xconverge
Copy link
Member

Are you ok without history navigation? Apologies for breaking your workflow

@jpoon
Copy link
Member

jpoon commented Jun 26, 2018

I was discussing this on Slack earlier, was that you @hastebrot that I was talking to?

What is your motivation for wanting to use VSCode's input box for the command line (ie. old behaviour)? The current implementation of placing the command line in the status bar is more vim-like and due to @xconverge 's great work, supports history navigation (which is something that the Input Box would not support). I'd much rather try to get the current behaviour working to whatever your (@hastebrot) workflow is rather than having to support two ways of inputting VIM commands.

@xconverge
Copy link
Member

I will see if I can come up with something minimal tonight, another case where this could be useful is zenmode

@hastebrot
Copy link
Author

hastebrot commented Jun 26, 2018

@jpoon No, wasn't me.

@xconverge I'm fine without history navigation. Yeah, zenmode is also an use-case.

The sidebar is so full with garbage. I don't want to configure every plugin or change the color of the statusbar. VSCode's input box is a fine place for me.

screen shot 2018-06-26 at 20 01 32

@jpoon
Copy link
Member

jpoon commented Jun 26, 2018

I don't want to configure every plugin or change the color of the statusbar. VSCode's input box is a fine place for me.

Not to be pedantic, but with the commands shown in the status bar, it takes up the equivalent amount of space. Instead of -- NORMAL -- you would see your VIM command (e.g. :wq). I'm still of the position that there should only be one spot we should support to enter VIM commands especially as there won't be feature parity between status bar commands vs input box commands.

I don't use zenmode so not sure what I'm missing out there or what that means.

@mindgitrwx
Copy link

It should be placed on command palette for people who uses zen mode.

@hastebrot
Copy link
Author

In my setup I deactivated the status bar and the activity bar because they distract me. The menu entries to deactivate them are directly in the view menu, so it seems to be an important use case for others.

it takes up the equivalent amount of space

I see. It changes from -- NORMAL -- to the typed : command. But I really only want to have my editor view and optionally open a quickpick, or projects, extensions view in the sidebar, and close it afterwards.

So far it worked for me to disable the status bar without downsides, e.g. the current git branch is shown in the status bar, but I can also list the current branch along other branch using "Git: Checkout to..." which opens a command quickpick menu. I also don't have to look into the status bar to see the current Vim mode, since the cursor also changes to indicate whether I'm in command, normal, or visual mode.

@jpoon
Copy link
Member

jpoon commented Jul 3, 2018

@mindgitrwx I'm not familiar with zen mode, in vanilla vim, where do you see the commands when you are in zen mode?

@Samonitari
Copy link

Samonitari commented Jul 3, 2018

Hi all!

Excuse me for chiming in! First, thanks for your awesome work, it is great stuff!

I'd like to vote for the previous location too - I mean make an option for it.
For me it is just more ergonomic the "old way". Status bar is a thing I rarely glance upon, and largely outside of my vision. Checking what I type in a complicated regex is quite uncomfortable, with the default size of statusbar - is it even resizeable? I think the name - status bar - says it all. It is mostly "static" information, that does not change with every key I press (or not that relevant), more dynamic thing should be placed closer to the code. If integrated-terminal/output/debug-console is open, editor is even further from the command I'm typing for the editor

I think vim, neovim is great (haven't used vi, I am not that old)! But! They come from an age where all, but the most simple ui was impossible - you can't/couldn't bring up popups in terminal(emulator)s.
So code is on the big screen, all other info is at the bottom line. But for me, that is a technical limitation that you should not reproduce, because that is the "historical" way.
By the way, the neovim-based editor oni is opted for a command-palette like placement of the command-line too. That is what I use for little edits on workplace windows systems.

I hope that you don't think it is a rant - absolutely not! I will continue to use your project even if you don't implement it, and the command history is great! Maybe I am in the wrong regarding better ergonomics, but if you think about it/ask some people that would be great!

@mindgitrwx
Copy link

mindgitrwx commented Jul 3, 2018

@jpoon

The zen mode I mentioned was not zen mode in vim, but zen mode in vscode. Before I started using vim, I became familiar with the basic functions of vscode, and I found out about the convenience of vim and installed the vscode vim plugin. In the previous version, in zen mode, when I typed the colon, the command I typed showed up at the top of the screen. So I can use it without feeling any inconvenience.

Zen mode is very useful when you have a vertical monitor.

@jpoon
Copy link
Member

jpoon commented Jul 3, 2018

Looks like @xconverge merged the fix in and added this relevant doc: https://github.com/VSCodeVim/Vim#how-can-i-use-the-commandline-when-in-zen-mode-or-when-the-status-bar-is-disabled

I want to clarify that with the quick pick it does not and will not support:

  • history navigation (pressing up/down to get the previous/next commands)

@xconverge
Copy link
Member

There is another fix in the pipeline for this

#2816

@hagabaka
Copy link

hagabaka commented Jul 6, 2018

Besides the lower visibility, the status bar command input also doesn't let you use arrow keys to move the cursor (it doesn't even show a cursor), or copy from/paste into it. I do appreciate the ability to navigate through history though.

Is it possible to make a feature request to VSCode to make it possible to implement history navigation with the text input?

@xconverge
Copy link
Member

@hagabaka there are vscode upstream issues already filed for quickpick improvements, they have been filed for over a year with quite a few thumbs ups (microsoft/vscode#23633)

you can paste into the commandline currently fyi, C-v and Cmd-v will paste!

@hagabaka
Copy link

hagabaka commented Jul 9, 2018

Ah, Ctrl-V does work. I was trying Shift-Insert before since I use Ctrl-V for visual block selection.

@me-nkr
Copy link

me-nkr commented Jul 30, 2021

Also when the commands are long there's not enough space in status bar. I just set : to bring up vim command line in vs code command palette, but it does not have history option 😭

@me-nkr
Copy link

me-nkr commented Jul 30, 2021

Well I found a hack around solution though, you can set Vim: Show Command Line to Shift + . and set its when expression to editorTextFocus && vim.active && !inDebugRepl && vim.mode != 'command'. So now if you need the command palette you could use Shift + . or you can use the one in status bar for history and short commands.

I don't know if this will work for zen mode though

Also I find it confusing why setting Vim: Show Command Line to Shift + . creates another keybinding Shift + < for the same.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

7 participants