-
-
Notifications
You must be signed in to change notification settings - Fork 199
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
bug: neovim extension blocks ctrl+w binding for kill-word in terminal #1297
Comments
@martin-braun could you look into this? |
As a workaround, you can delete those bindings in keybindings editor. |
@theol0403 I guess that's the price to pay for treating the terminal like a buffer eh .. Neovim has terminal mode, we don't. If we exclude We could shift back to my original idea to treat the terminal like a tmux window and use Thoughts? cc @justinmk |
Ah, I assumed that for now we excluded ctrl+w in the terminal panel, and can't nagivate out of it. I guess I missed that we don't. I think ctrl+b is a little too opinionated, but those bindings would go well in the wiki. We should just disable ctrl+w in the terminal pane. |
+1 on this. I think it was ill-conceived idea to actually hijack the Even worse, the combinations were set for when the focus is not on the editor (ie. when you are focusing on the terminal panel of VS Code), and transfer the focus to the editor - ie. taking you away from the terminal. |
This totally went over our head.
That was kinda the idea behind it though, we just didn't foresee the conflict. Neovim doesn't have the problem with terminal mode, something we cannot leverage (yet).
Oh yes, it was late yesterday. I forgot that it will also not work like one might expect when having the terminal on the right side.
So keeping the navigation, but excluding the terminal pane. We will end up with a one-way street. It would be great to have a binding that always jumps to the first editor group, so that you can exit the terminal pane. Thoughts? |
Agreed. I think the one-way street is the only option, and it's what I was thinking it was when I merged (my bad). If we can find a nice binding to exit, that would be ideal, but nothing comes to mind. Maybe ctrl+escape or something? Still seems too opinionated. |
@theol0403 The exit keybinding for Neovim's terminal mode comes into mind I still believe hijacking We would have our prefix for #1252.
|
@martin-braun I think I'm sold! We just need an configuration option for it. |
@theol0403 Great, but I need to come up with some sane defaults. The challenge is that the terminal can live at the left, right or bottom of the screen and the splits and navigation directions are predetermined by VSCode depending on its position. For now, I implemented your idea of I will come up with some defaults next week and propose those over at #1252. Thank you. |
ctrl+b is also a readline binding, which I use. So it has the same issue as ctrl+w. |
@justinmk how so, for me |
Yes, I use it to move the cursor in bash. |
@justinmk I think the only reasonable solution would be to have a prefix configuration in the settings, so that you could change it without remapping tons of key bindings. "Panel Navigation Prefix" or something along those lines. |
@martin-braun I don't think we can have the prefix as a variable. It would have to just be enable/disable. |
keybindings are already configurable, could just document how to override these particular keybindings. |
FYI, #1558 from the latest release (1.0.0) seems to have broken this again. |
It's this #1257 that caused the problem. |
Did you check docs and existing issues?
Neovim version (nvim -v)
v0.9.1
Operating system/version
Windows
Describe the bug
neovim vscode extension adds various "ctrl+w" bindings that have a "!editorTextFocus" when clause that cause "ctrl+w" in "terminalFocus" mode to match and block the standard bash "kill-word" binding for deleting words with "ctrl+w"
Attempting to add the clause doesn't seem to work for me. Only disabling the extension makes a difference.
Steps To Reproduce
Expected Behavior
Ctrl+w should be passed through to the terminal.
The text was updated successfully, but these errors were encountered: