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

Select and Operator-Pending Mode Key Remaps #3086

Closed
BowenWang opened this issue Oct 2, 2018 · 2 comments · Fixed by #4735
Closed

Select and Operator-Pending Mode Key Remaps #3086

BowenWang opened this issue Oct 2, 2018 · 2 comments · Fixed by #4735

Comments

@BowenWang
Copy link

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
I am using VSCode with VSCodeVim, and because I am using Programmer Dvorak keyboard layout, I need some key remaps in the configuration, I used to do it in vimrc when I am using Vim. I have checked the documents of VSCodeVim, it seems that I can do key remap in Normal/Visual/Insert mode with VSCodeVim, but I really need the ability doing remap in select and operator-pending mode, I hope there can be a key remap command in VSCodeVim works like noremap in Vim.
Describe the solution you'd like
A clear and concise description of what you want to happen.
I hope VSCodeVim can do key remaps in select and operator-pending mode and there can be some commands working the same as noremap in Vim.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

@hetmankp
Copy link
Contributor

I would love to see this. It's not currently possible for me to use my custom motions associated with the various operators (yank, delete, etc).

The lack of an "operator-pending" mode would also help with the recommended solution for movement keys that move one visual line at a time with wrapped lines (i.e. the solution requiring modifications to the keybindings.json file). A separate mode would mean it was no longer broken for that case.

@salaroli
Copy link

salaroli commented Oct 25, 2019

I'm kind of late for the party, but for Colemak and Dvorak users that remap the entire keyboard this is a must have feature :(

All the modes for vimscripts:

n: normal only
v: visual and select
o: operator-pending
x: visual only
s: select only
i: insert
c: command-line
l: insert, command-line, regexp-search (and others. Collectively called "Lang-Arg" pseudo-mode)

@J-Fields J-Fields self-assigned this Feb 16, 2020
This was referenced Mar 19, 2020
@berknam berknam mentioned this issue Jul 7, 2020
10 tasks
@J-Fields J-Fields removed their assignment Jul 27, 2020
J-Fields pushed a commit that referenced this issue Aug 16, 2020
This is a pretty massive change; see pull request #4735 for full details

Most notably:
- Support for operator-pending mode, including remaps and a half-cursor decoration
- Correct handling of ambiguous remaps with timeout
- Correct handling of recursive special case when the RHS starts with the LHS
- Correct handling of multi-key remaps in insert mode
- Failed movements that occur partway through a remap stop & discard the rest of the remap
- Implement `unmap` and `mapclear` in .vimrc

Refs #463, refs #4908
Fixes #1261, fixes #1398, fixes #1579, fixes #1821, fixes #1835
Fixes #1870, fixes #1883, fixes #2041, fixes #2234, fixes #2466
Fixes #2897, fixes #2955, fixes #2975, fixes #3082, fixes #3086
Fixes #3171, fixes #3373, fixes #3413, fixes #3742, fixes #3768
Fixes #3988, fixes #4057, fixes #4118, fixes #4236, fixes #4353
Fixes #4464, fixes #4530, fixes #4532, fixes #4563, fixes #4674
Fixes #4756, fixes #4883, fixes #4928, fixes #4991, fixes #5016
Fixes #5057, fixes #5067, fixes #5084, fixes #5125
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.

4 participants