Idea: Align Terminal keymappings with VS Code conventions #4375

Closed
opened 2026-01-30 23:45:26 +00:00 by claunia · 2 comments
Owner

Originally created by @aaronsteers on GitHub (Oct 9, 2019).

Originally assigned to: @cinnamon-msft on GitHub.

Description of the new feature/enhancement

Would be great if we could align Terminal keybinding settings with the VS Code keybinding conventions (link below).

Currently, the shortcut keys abbreviations do not match and this makes it more difficult to get started with keybindings - requiring users to try to do tons of digging to find the right convention - for example, to know page down is 'pgdn' (Terminal) instead of 'pagedown' (VS Code).

Would be fantastic if we could memorize and use a single convention rather than inventing a new one and trying to remember which convention works in which tool.

Proposed technical implementation details (optional)

The Terminal shortcut key abbreviations are documented here:
(Couldn't find any reference docs. Eventually found examples by holding Ctr while selecting "Settings" in order to get to the defaults.json file.)

The VS Code shortcut key abbreviations are documented here:
https://code.visualstudio.com/docs/getstarted/keybindings#_accepted-keys

For example of the problem currently, "Page Up" is "pgup" in Terminal profiles.json and "pageup" in VS Code.

Originally created by @aaronsteers on GitHub (Oct 9, 2019). Originally assigned to: @cinnamon-msft on GitHub. <!-- 🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨 I ACKNOWLEDGE THE FOLLOWING BEFORE PROCEEDING: 1. If I delete this entire template and go my own path, the core team may close my issue without further explanation or engagement. 2. If I list multiple bugs/concerns in this one issue, the core team may close my issue without further explanation or engagement. 3. If I write an issue that has many duplicates, the core team may close my issue without further explanation or engagement (and without necessarily spending time to find the exact duplicate ID number). 4. If I leave the title incomplete when filing the issue, the core team may close my issue without further explanation or engagement. 5. If I file something completely blank in the body, the core team may close my issue without further explanation or engagement. All good? Then proceed! --> # Description of the new feature/enhancement Would be great if we could align Terminal keybinding settings with the VS Code keybinding conventions (link below). Currently, the shortcut keys abbreviations do not match and this makes it more difficult to get started with keybindings - requiring users to try to do tons of digging to find the right convention - for example, to know page down is 'pgdn' (Terminal) instead of 'pagedown' (VS Code). Would be fantastic if we could memorize and use a single convention rather than inventing a new one and trying to remember which convention works in which tool. <!-- A clear and concise description of what the problem is that the new feature would solve. Describe why and how a user would use this new functionality (if applicable). --> # Proposed technical implementation details (optional) The Terminal shortcut key abbreviations are documented here: `(Couldn't find any reference docs. Eventually found examples by holding Ctr while selecting "Settings" in order to get to the defaults.json file.)` The VS Code shortcut key abbreviations are documented here: https://code.visualstudio.com/docs/getstarted/keybindings#_accepted-keys For example of the problem currently, "Page Up" is "pgup" in Terminal `profiles.json` and "pageup" in VS Code. <!-- A clear and concise description of what you want to happen. -->
Author
Owner

@Pertel commented on GitHub (Oct 16, 2019):

Hey, I was having the exact same problem when trying to configure keybindings using page-up and page-down; I couldn't find any documentation with all the valid keys and had to dig around in the source code.

If you'd like, I could update the documentation to list all possible keys and submit a PR.

My suggestion is to grab the keys from KeyChordSerialization.cpp
And include them in the Profiles.json Documentation file under the keybindings section.

Even if that doesn't create parity with VS Code keybindings, it would be helpful for users creating keybindings.

@Pertel commented on GitHub (Oct 16, 2019): Hey, I was having the exact same problem when trying to configure keybindings using page-up and page-down; I couldn't find any documentation with all the valid keys and had to dig around in the source code. If you'd like, I could update the documentation to list all possible keys and submit a PR. My suggestion is to grab the keys from [KeyChordSerialization.cpp](https://github.com/microsoft/terminal/blob/master/src/cascadia/TerminalApp/KeyChordSerialization.cpp) And include them in the [Profiles.json Documentation](https://github.com/microsoft/terminal/blob/master/doc/cascadia/SettingsSchema.md) file under the keybindings section. Even if that doesn't create parity with VS Code keybindings, it would be helpful for users creating keybindings.
Author
Owner

@ghost commented on GitHub (Feb 13, 2020):

:tada:This issue was addressed in #4392, which has now been successfully released as Windows Terminal Preview v0.9.433.0.🎉

Handy links:

@ghost commented on GitHub (Feb 13, 2020): :tada:This issue was addressed in #4392, which has now been successfully released as `Windows Terminal Preview v0.9.433.0`.:tada: Handy links: * [Release Notes](https://github.com/microsoft/terminal/releases/tag/v0.9.433.0) * [Store Download](https://www.microsoft.com/store/apps/9n0dx20hk701?cid=storebadge&ocid=badge)
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#4375