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