nushell/docs/sample_config/keybindings.yml
Chris Gillespie e73278990c
Bump Rustyline to 7.0.0 (#2776)
* Bump Rustyline to 7.0.0

* Append history instead of always save

* Add associated type to Hinter

* Convert to using Rustyline KeyEvent

* Use AcceptOrInsertLine as struct

* Cargo fmt

* Make convert_keyevent pub

* Better naming for RL conversion
2020-12-05 06:29:40 +13:00

385 lines
8.2 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:
# Ctrl: A
# Available modifiers are Ctrl, F (for function), Meta (escape-char, alt-char)
##########################################################
# Common From https://github.com/kkawakam/rustyline#actions
##########################################################
# 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:
ShiftRight:
binding:
CompleteHint:
# Interrupt/Cancel edition
- key:
Ctrl: C
binding:
Interrupt:
# (if line is not empty) Delete character under cursor
- key:
Ctrl: D
binding:
EndOfFile:
# Delete character under cursor
- key:
Delete:
binding:
Kill:
ForwardChar: 1
# Finish the line entry
- key:
Ctrl: J
binding:
AcceptLine:
- key:
Ctrl: M
binding:
AcceptLine:
- 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:
Ctrl: R
binding:
ReverseSearchHistory:
# Forward Search history (Ctrl-R backward, Ctrl-G cancel)
- key:
Ctrl: S
binding:
ForwardSearchHistory:
# Transpose previous character with current character
- key:
Ctrl: T
binding:
TransposeChars:
# Delete from start of line to cursor
- key:
Ctrl: U
binding:
Kill: BeginningOfLine
# Insert any special character without performing its associated action (#65)
- key:
Ctrl: Q
binding:
QuotedInsert:
- key:
Ctrl: V
binding:
QuotedInsert:
# Delete word leading up to cursor (using white space as a word boundary)
- key:
Ctrl: W
binding:
Kill:
BackwardWord:
repeat: 1
word: Big
# Paste from Yank buffer
- key:
Ctrl: Y
binding:
Yank:
repeat: 1
anchor: Before
# Suspend (Unix only)
- key:
Ctrl: Z
binding:
Suspend:
# Undo
- key:
Ctrl: '_'
binding:
Undo: 1
# KeyEvent::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),
# /// Ctrl-↓
# ControlDown,
# /// Ctrl-←
# ControlLeft,
# /// Ctrl-→
# ControlRight,
# /// Ctrl-↑
# ControlUp,
# /// Ctrl-char
# Ctrl(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,
# /// Escape-char or Alt-char
# Meta(char),
# /// `KeyEvent::Char('\0')`
# Null,
# /// ⇟
# PageDown,
# /// ⇞
# PageUp,
# /// → arrow key
# Right,
# /// Shift-↓
# ShiftDown,
# /// Shift-←
# ShiftLeft,
# /// Shift-→
# ShiftRight,
# /// Shift-↑
# ShiftUp,
# /// ⇥ 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,
# /// downcase-word
# DowncaseWord,
# /// vi-eof-maybe
# EndOfFile,
# /// end-of-history
# EndOfHistory,
# /// forward-search-history
# ForwardSearchHistory,
# /// history-search-backward
# HistorySearchBackward,
# /// history-search-forward
# HistorySearchForward,
# /// Insert text
# Insert(RepeatCount, 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),
# /// next-history
# NextHistory,
# /// No action
# Noop,
# /// vi-replace
# Overwrite(char),
# /// previous-history
# PreviousHistory,
# /// quoted-insert
# QuotedInsert,
# /// vi-change-char
# ReplaceChar(RepeatCount, char),
# /// vi-change-to, vi-substitute
# Replace(Movement, Option<String>),
# /// reverse-search-history
# ReverseSearchHistory,
# /// self-insert
# SelfInsert(RepeatCount, 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(RepeatCount, 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,