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

Imitate default vim key bindings #1451

Closed
mightyiam opened this issue Mar 30, 2017 · 11 comments
Closed

Imitate default vim key bindings #1451

mightyiam opened this issue Mar 30, 2017 · 11 comments

Comments

@mightyiam
Copy link

Hey. Shouldn't the default vim keybindings be imitated by default?

I'm coming from a few years of vim and recently neovim and I have expectations. The first, is that the default set of keybindings will be implemented. For example, I couldn't make splits with bindings. At first I thought that it must be because there is no implementation of splits. But I've found out that there is.

@mightyiam mightyiam changed the title Immitate default vim key bindings Imitate default vim key bindings Mar 30, 2017
@xconverge
Copy link
Member

We really need some more info here. Can you use the template for issues, is. What did you try, what was expected, what actually happened.

What key binding are you trying for splits.

If you look at ROADMAP.md you can see what is currently supported.

@FabioAntunes
Copy link

I guess he's talking about this:

  • <C-w>n - :new horizontal split (editing a new empty buffer)
  • <C-w>s - :split window horizontally (editing current buffer)
  • <C-w>v - :vsplit window vertically (editing current buffer)
  • <C-w>c - :close window
  • <C-w>o - close all windows, leaving :only the current window open
  • <C-w>w - go to next window
  • <C-w>p - go to previous window
  • <C-w><Up> - go to window above
  • <C-w><Down> - go to window below
  • <C-w><Left> - go to window on left
  • <C-w><Right> - go to window on right

@mightyiam
Copy link
Author

@FabioAntunes I was hit by some of these, specifically. In general, I would like to see a big table, in the most visible place in the readme. This table would look like something like

default vim keybinding implementation
<C-w>n- :new horizontal split (editing a new empty buffer) ✅ opens a new editor to the right
<C-w>s - :split window horizontally (editing current buffer) 🚧 (link to discussion issue)

Now, this is the way I see things. I don't know how other users will see them.

I think that this kind of table would help me a lot.

Or maybe this is not a table, but a listing of issues with a certain label and a link to that issue search of both open and closed issues with this label.

@johnfn
Copy link
Member

johnfn commented Apr 4, 2017

@mightyiam you mean... something sorta like this? https://github.com/VSCodeVim/Vim/blob/master/ROADMAP.md 😉

(tho embarrassingly we dont have the split stuff on there. huh, not sure how we missed that!)

@mightyiam
Copy link
Author

Yup. Exactly like that. The sooner the better 🤦‍♂️.

So please feel free to change the title of this issue to whatever you know is missing exactly. Maybe splits.

@johnfn
Copy link
Member

johnfn commented Apr 4, 2017

@mightyiam, could you let us know which features were the ones you specifically ran into trouble with? I think you mentioned them in an earlier post, but github has a bad tendency to strip out < and > characters unless they're wrapped in backticks.

@mightyiam
Copy link
Author

Well, it is the feeling that I don't know how to navigate between windows. In vim everything is a window (or a buffer?) and I can jump between them with C-w and a direction key. In Code I feel like this won't do. And I need to know some extra stuff. I can't close the sidebar. I can't jump to the terminal. I can't switch between terminals.

Now, there might be keys that I don't know about for all of these, but I don't know them and I feel that any new user would benefit greatly from:

  1. sane defaults key bindings for all of these things and more
  2. a getting-started document, perhaps printable, with all of these sane defaults. Actually, VS Code has such a paper for its own non-vim keybindings.
  3. hugely visible links for this document

@johnfn
Copy link
Member

johnfn commented Apr 4, 2017

Ahh, I understand.

Yeah, I know that e.g. jumping to the terminal or folder window with c-w whatever is suboptimal (that is to say, impossible!). That could definitely be improved. I have an issue here: #1375

On the other hand, opening up certain windows, like the terminal window, already has a dedicated vscode shortcut, so it doesn't make any sense for us to add another one. I don't think it makes a lot of sense to provide our own keybindings for that stuff, when it's all easily configurable by any user just by using VSCode's built-in keybinding system. But feel free to disagree if you think I'm missing something.

@rebornix
Copy link
Member

This can be part of #1504

@jpoon
Copy link
Member

jpoon commented Nov 15, 2017

We've made a fair amount of progress with the multi-window commands (ref https://github.com/VSCodeVim/Vim/blob/master/ROADMAP.md).

I'm going to close this issue, but feel free to open a new issue against a particular keybinding we are missing.

@jpoon jpoon closed this as completed Nov 15, 2017
@mightyiam
Copy link
Author

Awesome stuff. I love you guys.

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

No branches or pull requests

6 participants