forked from extern/nushell
ed515cbc0c
* update keybindings to support new rustyline functionality * remove some keybindings comments * fix wasm build * fixed multiline editing binding
441 lines
9.1 KiB
YAML
441 lines
9.1 KiB
YAML
# These are the common keys acrosso modes taken directly from Rustyline. If
|
|
# you want to change the keybinding you should change the letter after
|
|
# "key:". If you want to change the modifier you should change or add the
|
|
# modifier after "key:", such as:
|
|
# key:
|
|
# Char: A
|
|
# modifiers:
|
|
# CTRL:
|
|
# binding:
|
|
# blah:
|
|
# Available modifiers are CTRL, ALT, SHIFT, NONE, CTRL_SHIFT,
|
|
# ALT_SHIFT, CTRL_ALT, CTRL_ALT_SHIFT
|
|
|
|
##########################################################
|
|
# Common From https://github.com/kkawakam/rustyline#actions
|
|
##########################################################
|
|
|
|
# Control Backspace, delete 1 word at a time
|
|
- key:
|
|
Backspace:
|
|
modifiers:
|
|
CTRL:
|
|
binding:
|
|
Kill:
|
|
BackwardWord:
|
|
repeat: 1
|
|
word: Big
|
|
|
|
# Alt Backspace, delete 1 word at a time
|
|
- key:
|
|
Backspace:
|
|
modifiers:
|
|
ALT:
|
|
binding:
|
|
Kill:
|
|
BackwardWord:
|
|
repeat: 1
|
|
word: Big
|
|
|
|
# Move cursor to the beginning of line
|
|
- key:
|
|
Home:
|
|
binding:
|
|
Move: BeginningOfLine
|
|
|
|
# Move cursor to end of line
|
|
- key:
|
|
End:
|
|
binding:
|
|
Move: EndOfLine
|
|
|
|
# Move cursor one character left
|
|
- key:
|
|
Left: #Left Arrow Key
|
|
binding:
|
|
Move:
|
|
BackwardChar: 1
|
|
|
|
# Move cursor one character right
|
|
- key:
|
|
Right: #Right Arrow Key
|
|
binding:
|
|
Move:
|
|
ForwardChar: 1
|
|
|
|
# Complete Hint
|
|
- key:
|
|
Right:
|
|
modifiers:
|
|
SHIFT:
|
|
binding:
|
|
CompleteHint:
|
|
- key:
|
|
Char: F
|
|
modifiers:
|
|
CTRL:
|
|
binding:
|
|
CompleteHint:
|
|
|
|
# Interrupt/Cancel edition
|
|
- key:
|
|
Char: C
|
|
modifiers:
|
|
CTRL:
|
|
binding:
|
|
Interrupt:
|
|
|
|
# (if line is not empty) Delete character under cursor
|
|
- key:
|
|
Char: D
|
|
modifiers:
|
|
CTRL:
|
|
binding:
|
|
EndOfFile:
|
|
|
|
# Delete character under cursor
|
|
- key:
|
|
Delete:
|
|
binding:
|
|
Kill:
|
|
ForwardChar: 1
|
|
|
|
# Finish the line entry
|
|
- key:
|
|
Char: J
|
|
modifiers:
|
|
CTRL:
|
|
binding:
|
|
AcceptLine:
|
|
- key:
|
|
Char: M
|
|
modifiers:
|
|
CTRL:
|
|
binding:
|
|
AcceptLine:
|
|
|
|
# This makes multiline editing stop working since Enter accepts a line
|
|
# - key:
|
|
# Enter:
|
|
# binding:
|
|
# AcceptLine:
|
|
|
|
# Next match from history
|
|
- key:
|
|
Down: #Down Arrow Key
|
|
binding:
|
|
LineDownOrNextHistory: 1
|
|
|
|
# Previous match from history
|
|
- key:
|
|
Up: #Up Arrow Key
|
|
binding:
|
|
LineUpOrPreviousHistory: 1
|
|
|
|
# Reverse Search history (Ctrl-S forward, Ctrl-G cancel)
|
|
- key:
|
|
Char: R
|
|
modifiers:
|
|
CTRL:
|
|
binding:
|
|
ReverseSearchHistory:
|
|
|
|
# Forward Search history (Ctrl-R backward, Ctrl-G cancel)
|
|
- key:
|
|
Char: S
|
|
modifiers:
|
|
CTRL:
|
|
binding:
|
|
ForwardSearchHistory:
|
|
|
|
# Transpose previous character with current character
|
|
- key:
|
|
Char: T
|
|
modifiers:
|
|
CTRL:
|
|
binding:
|
|
TransposeChars:
|
|
|
|
# Delete from start of line to cursor
|
|
- key:
|
|
Char: U
|
|
modifiers:
|
|
CTRL:
|
|
binding:
|
|
Kill: BeginningOfLine
|
|
|
|
# Insert any special character without performing its associated action (#65)
|
|
- key:
|
|
Char: Q
|
|
modifiers:
|
|
CTRL:
|
|
binding:
|
|
QuotedInsert:
|
|
- key:
|
|
Char: V
|
|
modifiers:
|
|
CTRL:
|
|
binding:
|
|
QuotedInsert:
|
|
|
|
# Delete word leading up to cursor (using white space as a word boundary)
|
|
- key:
|
|
Char: W
|
|
modifiers:
|
|
CTRL:
|
|
binding:
|
|
Kill:
|
|
BackwardWord:
|
|
repeat: 1
|
|
word: Big
|
|
|
|
# Paste from Yank buffer
|
|
- key:
|
|
Char: Y
|
|
modifiers:
|
|
CTRL:
|
|
binding:
|
|
Yank:
|
|
repeat: 1
|
|
anchor: Before
|
|
|
|
# Suspend (Unix only)
|
|
- key:
|
|
Char: Z
|
|
modifiers:
|
|
CTRL:
|
|
binding:
|
|
Suspend:
|
|
|
|
# Undo
|
|
- key:
|
|
Char: "_"
|
|
modifiers:
|
|
CTRL:
|
|
binding:
|
|
Undo: 1
|
|
|
|
# KeyPress::UnknownEscSeq => Cmd::Noop,
|
|
- key:
|
|
UnknownEscSeq:
|
|
binding:
|
|
Noop:
|
|
##########################################################
|
|
# Possible options for key:
|
|
##########################################################
|
|
# /// Unsupported escape sequence (on unix platform)
|
|
# UnknownEscSeq,
|
|
# /// ⌫ or `KeyEvent::Ctrl('H')`
|
|
# Backspace,
|
|
# /// ⇤ (usually Shift-Tab)
|
|
# BackTab,
|
|
# /// Paste (on unix platform)
|
|
# BracketedPasteStart,
|
|
# /// Paste (on unix platform)
|
|
# BracketedPasteEnd,
|
|
# /// Single char
|
|
# Char(char),
|
|
# /// ⌦
|
|
# Delete,
|
|
# /// ↓ arrow key
|
|
# Down,
|
|
# /// ⇲
|
|
# End,
|
|
# /// ↵ or `KeyEvent::Ctrl('M')`
|
|
# Enter,
|
|
# /// Escape or `KeyEvent::Ctrl('[')`
|
|
# Esc,
|
|
# /// Function key
|
|
# F(u8),
|
|
# /// ⇱
|
|
# Home,
|
|
# /// Insert key
|
|
# Insert,
|
|
# /// ← arrow key
|
|
# Left,
|
|
# // /// `KeyEvent::Char('\0')`
|
|
# Null,
|
|
# /// ⇟
|
|
# PageDown,
|
|
# /// ⇞
|
|
# PageUp,
|
|
# /// → arrow key
|
|
# Right,
|
|
# /// ⇥ or `KeyEvent::Ctrl('I')`
|
|
# Tab,
|
|
# /// ↑ arrow key
|
|
# Up,
|
|
|
|
##########################################################
|
|
# Possible options for command binding
|
|
##########################################################
|
|
# /// abort
|
|
# Abort, // Miscellaneous Command
|
|
# /// accept-line
|
|
# AcceptLine,
|
|
# /// beginning-of-history
|
|
# BeginningOfHistory,
|
|
# /// capitalize-word
|
|
# CapitalizeWord,
|
|
# /// clear-screen
|
|
# ClearScreen,
|
|
# /// complete
|
|
# Complete,
|
|
# /// complete-backward
|
|
# CompleteBackward,
|
|
# /// complete-hint
|
|
# CompleteHint,
|
|
# /// Dedent current line
|
|
# Dedent(Movement),
|
|
# /// downcase-word
|
|
# DowncaseWord,
|
|
# /// vi-eof-maybe
|
|
# EndOfFile,
|
|
# /// end-of-history
|
|
# EndOfHistory,
|
|
# /// forward-search-history
|
|
# ForwardSearchHistory,
|
|
# /// history-search-backward
|
|
# HistorySearchBackward,
|
|
# /// history-search-forward
|
|
# HistorySearchForward,
|
|
# /// Indent current line
|
|
# Indent(Movement),
|
|
# /// Insert text
|
|
# Insert { repeat: RepeatCount, string: String },
|
|
# /// Interrupt signal (Ctrl-C)
|
|
# Interrupt,
|
|
# /// backward-delete-char, backward-kill-line, backward-kill-word
|
|
# /// delete-char, kill-line, kill-word, unix-line-discard, unix-word-rubout,
|
|
# /// vi-delete, vi-delete-to, vi-rubout
|
|
# Kill(Movement),
|
|
# /// backward-char, backward-word, beginning-of-line, end-of-line,
|
|
# /// forward-char, forward-word, vi-char-search, vi-end-word, vi-next-word,
|
|
# /// vi-prev-word
|
|
# Move(Movement),
|
|
# /// Inserts a newline
|
|
# Newline,
|
|
# /// next-history
|
|
# NextHistory,
|
|
# /// No action
|
|
# Noop,
|
|
# /// vi-replace
|
|
# Overwrite(char),
|
|
# /// Paste from the clipboard
|
|
# #[cfg(windows)]
|
|
# PasteFromClipboard,
|
|
# /// previous-history
|
|
# PreviousHistory,
|
|
# /// quoted-insert
|
|
# QuotedInsert,
|
|
# /// vi-change-char
|
|
# ReplaceChar { repeat: RepeatCount, ch: char },
|
|
# /// vi-change-to, vi-substitute
|
|
# Replace {
|
|
# movement: Movement,
|
|
# replacement: Option<String>,
|
|
# },
|
|
# /// reverse-search-history
|
|
# ReverseSearchHistory,
|
|
# /// self-insert
|
|
# SelfInsert { repeat: RepeatCount, ch: char },
|
|
# /// Suspend signal (Ctrl-Z on unix platform)
|
|
# Suspend,
|
|
# /// transpose-chars
|
|
# TransposeChars,
|
|
# /// transpose-words
|
|
# TransposeWords(RepeatCount),
|
|
# /// undo
|
|
# Undo(RepeatCount),
|
|
# /// Unsupported / unexpected
|
|
# Unknown,
|
|
# /// upcase-word
|
|
# UpcaseWord,
|
|
# /// vi-yank-to
|
|
# ViYankTo(Movement),
|
|
# /// yank, vi-put
|
|
# Yank { repeat: RepeatCount, anchor: Anchor },
|
|
# /// yank-pop
|
|
# YankPop,
|
|
# /// moves cursor to the line above or switches to prev history entry if
|
|
# /// the cursor is already on the first line
|
|
# LineUpOrPreviousHistory(RepeatCount),
|
|
# /// moves cursor to the line below or switches to next history entry if
|
|
# /// the cursor is already on the last line
|
|
# LineDownOrNextHistory(RepeatCount),
|
|
# /// accepts the line when cursor is at the end of the text (non including
|
|
# /// trailing whitespace), inserts newline character otherwise
|
|
# AcceptOrInsertLine,
|
|
|
|
##########################################################
|
|
# Possible options for Word
|
|
##########################################################
|
|
# /// non-blanks characters
|
|
# Big,
|
|
# /// alphanumeric characters
|
|
# Emacs,
|
|
# /// alphanumeric (and '_') characters
|
|
# Vi,
|
|
|
|
##########################################################
|
|
# Possible options for At
|
|
##########################################################
|
|
# /// Start of word.
|
|
# Start,
|
|
# /// Before end of word.
|
|
# BeforeEnd,
|
|
# /// After end of word.
|
|
# AfterEnd,
|
|
|
|
##########################################################
|
|
# Possible options for Anchor
|
|
##########################################################
|
|
# /// After cursor
|
|
# After,
|
|
# /// Before cursor
|
|
# Before,
|
|
|
|
##########################################################
|
|
# Possible options for CharSearch
|
|
##########################################################
|
|
# /// Forward search
|
|
# Forward(char),
|
|
# /// Forward search until
|
|
# ForwardBefore(char),
|
|
# /// Backward search
|
|
# Backward(char),
|
|
# /// Backward search until
|
|
# BackwardAfter(char),
|
|
|
|
##########################################################
|
|
# Possible options for Movement
|
|
##########################################################
|
|
# /// Whole current line (not really a movement but a range)
|
|
# WholeLine,
|
|
# /// beginning-of-line
|
|
# BeginningOfLine,
|
|
# /// end-of-line
|
|
# EndOfLine,
|
|
# /// backward-word, vi-prev-word
|
|
# BackwardWord(RepeatCount, Word), // Backward until start of word
|
|
# /// forward-word, vi-end-word, vi-next-word
|
|
# ForwardWord(RepeatCount, At, Word), // Forward until start/end of word
|
|
# /// vi-char-search
|
|
# ViCharSearch(RepeatCount, CharSearch),
|
|
# /// vi-first-print
|
|
# ViFirstPrint,
|
|
# /// backward-char
|
|
# BackwardChar(RepeatCount),
|
|
# /// forward-char
|
|
# ForwardChar(RepeatCount),
|
|
# /// move to the same column on the previous line
|
|
# LineUp(RepeatCount),
|
|
# /// move to the same column on the next line
|
|
# LineDown(RepeatCount),
|
|
# /// Whole user input (not really a movement but a range)
|
|
# WholeBuffer,
|
|
# /// beginning-of-buffer
|
|
# BeginningOfBuffer,
|
|
# /// end-of-buffer
|
|
# EndOfBuffer,
|