diff --git a/CHANGELOG.md b/CHANGELOG.md index dc220abf..e3d0fb18 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added - MSI installer for Windows is now available +- New default key bindings Alt+Home, Alt+End, Alt+PageUp and Alt+PageDown ### Fixed diff --git a/alacritty.yml b/alacritty.yml index f555e5cc..e5a42196 100644 --- a/alacritty.yml +++ b/alacritty.yml @@ -467,17 +467,21 @@ key_bindings: - { key: Copy, action: Copy } - { key: L, mods: Control, action: ClearLogNotice } - { key: L, mods: Control, chars: "\x0c" } + - { key: Home, mods: Alt, chars: "\x1b[1;3H" } - { key: Home, chars: "\x1bOH", mode: AppCursor } - { key: Home, chars: "\x1b[H", mode: ~AppCursor } + - { key: End, mods: Alt, chars: "\x1b[1;3F" } - { key: End, chars: "\x1bOF", mode: AppCursor } - { key: End, chars: "\x1b[F", mode: ~AppCursor } - { key: PageUp, mods: Shift, action: ScrollPageUp, mode: ~Alt } - { key: PageUp, mods: Shift, chars: "\x1b[5;2~", mode: Alt } - { key: PageUp, mods: Control, chars: "\x1b[5;5~" } + - { key: PageUp, mods: Alt, chars: "\x1b[5;3~" } - { key: PageUp, chars: "\x1b[5~" } - { key: PageDown, mods: Shift, action: ScrollPageDown, mode: ~Alt } - { key: PageDown, mods: Shift, chars: "\x1b[6;2~", mode: Alt } - { key: PageDown, mods: Control, chars: "\x1b[6;5~" } + - { key: PageDown, mods: Alt, chars: "\x1b[6;3~" } - { key: PageDown, chars: "\x1b[6~" } - { key: Tab, mods: Shift, chars: "\x1b[Z" } - { key: Back, chars: "\x7f" } diff --git a/src/config/bindings.rs b/src/config/bindings.rs index 2cf22de9..410b6804 100644 --- a/src/config/bindings.rs +++ b/src/config/bindings.rs @@ -68,17 +68,21 @@ pub fn default_key_bindings() -> Vec { Key::Copy; Action::Copy; Key::L, [ctrl: true]; Action::ClearLogNotice; Key::L, [ctrl: true]; Action::Esc("\x0c".into()); + Key::Home, [alt: true]; Action::Esc("\x1b[1;3H".into()); Key::Home, +TermMode::APP_CURSOR; Action::Esc("\x1bOH".into()); Key::Home, ~TermMode::APP_CURSOR; Action::Esc("\x1b[H".into()); + Key::End, [alt: true]; Action::Esc("\x1b[1;3F".into()); Key::End, +TermMode::APP_CURSOR; Action::Esc("\x1bOF".into()); Key::End, ~TermMode::APP_CURSOR; Action::Esc("\x1b[F".into()); Key::PageUp, [shift: true], ~TermMode::ALT_SCREEN; Action::ScrollPageUp; Key::PageUp, [shift: true], +TermMode::ALT_SCREEN; Action::Esc("\x1b[5;2~".into()); Key::PageUp, [ctrl: true]; Action::Esc("\x1b[5;5~".into()); + Key::PageUp, [alt: true]; Action::Esc("\x1b[5;3~".into()); Key::PageUp; Action::Esc("\x1b[5~".into()); Key::PageDown, [shift: true], ~TermMode::ALT_SCREEN; Action::ScrollPageDown; Key::PageDown, [shift: true], +TermMode::ALT_SCREEN; Action::Esc("\x1b[6;2~".into()); Key::PageDown, [ctrl: true]; Action::Esc("\x1b[6;5~".into()); + Key::PageDown, [alt: true]; Action::Esc("\x1b[6;3~".into()); Key::PageDown; Action::Esc("\x1b[6~".into()); Key::Tab, [shift: true]; Action::Esc("\x1b[Z".into()); Key::Back; Action::Esc("\x7f".into());