mirror of
git://git.code.sf.net/p/cdesktopenv/code
synced 2025-03-09 15:50:02 +00:00
Add support for more keyboard shortcuts (#410)
Add extra key bindings to the emacs and vi modes
This patch adds the following key bindings to the emacs and vi
editing modes:
- Support for Home key sequences ^[[1~ and ^[[7~ as well as End key
sequences ^[[4~ and ^[[8~.
- Support for arrow key sequences ^[OA, ^[OB, ^[OC and ^[OD.
- Support for the following keyboard shortcuts (if the platform
supports the expected escape sequence):
- Ctrl-Left Arrow: Go back one word
- Alt-Left Arrow: Go back one word (Not supported on Haiku)
- Ctrl-Right Arrow: Go forward one word
- Alt-Right Arrow: Go forward one word (Not supported on Haiku)
- Ctrl-G: Cancel reverse search
- Ctrl-Delete: Delete next word (Not supported on Haiku)
- Added a key binding for the Insert key, which differs in the
emacs and vi editing modes:
- In emacs mode, Insert escapes the next character.
- In vi mode, Insert will switch the editor to insert mode (like
in vim).
src/cmd/ksh93/edit/{emacs,vi}.c:
- Add support for the <M-Left> and <M-Right> sequences. Like in
bash and mksh, these shortcuts move the cursor one word backward
or forward (like the <Ctrl-Left> and <Ctrl-Right> shortcuts).
- Only attempt to process these shortcuts if the escape sequence
begins with $'\E[1;'.
src/cmd/ksh93/edit/vi.c:
- If the shell isn't doing a reverse search, insert the bell
character when Ctrl+G is input.
- Add the Ctrl-Delete shortcut as an alias of 'dw'. Calling
ed_ungetchar twice does not work for 'dw', so Ctrl-Delete was
implemented by using a vp->del_word variable.
Co-authored-by: Martijn Dekker <martijn@inlv.org>
This commit is contained in:
parent
9c313c7fe3
commit
9a5af738ef
6 changed files with 334 additions and 8 deletions
19
NEWS
19
NEWS
|
|
@ -3,6 +3,25 @@ For full details, see the git log at: https://github.com/ksh93/ksh/tree/1.0
|
|||
|
||||
Any uppercase BUG_* names are modernish shell bug IDs.
|
||||
|
||||
2022-01-31:
|
||||
|
||||
- Improved keyboard support for the vi and emacs built-in line editors:
|
||||
- Added support for Home key sequences ^[[1~ and ^[[7~ as well as End key
|
||||
sequences ^[[4~ and ^[[8~.
|
||||
- Added support for arrow key sequences ^[OA, ^[OB, ^[OC and ^[OD.
|
||||
- Added support for the following keyboard shortcuts (if the platform
|
||||
supports the expected escape sequence):
|
||||
- Ctrl-Left Arrow: Go back one word
|
||||
- Alt-Left Arrow: Go back one word (Not supported on Haiku)
|
||||
- Ctrl-Right Arrow: Go forward one word
|
||||
- Alt-Right Arrow: Go forward one word (Not supported on Haiku)
|
||||
- Ctrl-G: Cancel reverse search
|
||||
- Ctrl-Delete: Delete next word (Not supported on Haiku)
|
||||
- Added a keybind for the Insert key, which differs in the emacs and vi
|
||||
editing modes:
|
||||
- In emacs mode, Insert escapes the next character.
|
||||
- In vi mode, Insert will switch the editor to insert mode (like in vim).
|
||||
|
||||
2022-01-28:
|
||||
|
||||
- Fixed longstanding job control breakage that occurred on the interactive
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue