A Python module that provides GNU Readline-like line editing functions (the default Emacs-style ones). If you just want to use Readline, use the readline package in the standard library--but this package allows access to those capabilties in settings outside of a standard CLI.
Currently, all stateless Readline commands are implemented. This means that yanking and history are not supported.
This module is especially well-suited to interfacing with Urwid due to a shared syntax for describing key inputs.
Install or upgrade to the latest version from PyPI:
[sudo] pip install -U readlike
Transpose words:
>>> import readlike
>>> readlike.edit('perilous siege', 9, 'meta t')
('siege perilous', 14)
Implemented commands and their correspondings keys are as follows:
backward-char ctrl b, left
backward-delete-char ctrl h, backspace
backward-kill-word ctrl meta h, meta backspace
backward-word meta b, meta left
beginning-of-line ctrl a, home
capitalize-word meta c
delete-char ctrl d, delete
delete-horizontal-space meta \
downcase-word meta l
end-of-line ctrl e, end
forward-char ctrl f, right
forward-word meta f, meta right
kill-line ctrl k
kill-word meta d, meta delete
transpose-chars ctrl t
transpose-words meta t
unix-line-discard ctrl u
unix-word-rubout ctrl w
upcase-word meta u
For more information about each command, see readline(3) or see the doc strings in readlike.py.