[Feature Request] add in a langmap setting
See original GitHub issue- Click thumbs-up 👍 on this issue if you want it!
- Click confused 😕 on this issue if not having it makes VSCodeVim unusable.
The VSCodeVim team prioritizes issues based on reaction count.
This a FEATURE REQUEST:
Environment:
- VSCode Version: 1.19.1
- VsCodeVim Version: v0.10.6
- OS: Linux
What the feature is: Langmaps are a feature which allows you to do a string of simplistic mappings with ease on a single line. For example, as a Dvorak user i have several keys I like to remap in order to improve my ability to navigate and to greatly improve comfort while using vim or vim emulators. This could be achieved with normal mappings of each key (although VSCode Vim doesn’t do this properly - see #2233 and #2234) or using a single langmap.
important differences between langmaps and maps Langmaps are inflexible and only allow mapping one key to one other key, many times. Maps allow mapping a key or key combination to another key, key combination, or action. They allow you to do much more complex things and are more flexible.
Why i feel like this is important: I use a Dvorak keyboard, and Vim was made for use on a QWERTY keyboard. This can make some default commands very very awkward for me, including using w and especially j and k. Langmaps can be very very useful to those who use an alternate keyboard layout, whether it means restoring the ability to go off of muscle memory by using a langmap to recreate a QWERTY layout in normal mode, or moving awkward keys to better locations. I personally feel langmaps do a better job of this specific use case than maps, which, especially in VSCode Vim, bloat the settings file and can draw attention away from or overshadow the more complex and important mappings that may be present and need tweaking, or just to freshen up on what one or more mappings you created but rarely use actually do.
Adding in a langmap at this point could shrink my current settings file to half its current size.
For reference: in Vim it’s set with the syntax <desiredKey><originalKey> OR <desired keys>;<original keys> and separated by commas. Such as
set langmap=tj,nk,sl,.>;wW,\\,';nN
Although I’d expect only a single backslash would be needed for the escape on the comma.
Issue Analytics
- State:
- Created 6 years ago
- Reactions:52
- Comments:10 (4 by maintainers)
Top GitHub Comments
This feature is extremely useful when writing in a non-Latin script but maybe a cousin of, basically Greek and Cyrillic. For example, when I’m doing non-programming related work and writing in Greek I would have to constantly change the layout to issue commands, not feasible or use “hacks” to trigger a switch to the system layout. In Vim I just have this setting.
Any news? I can’t use command mode while Cyrillic layout is activated. So annoying.