texteditpad

Simple textbox editing widget with Emacs-like keybindings


Keywords
curses, terminal, text, edit, box, pad
License
MIT
Install
pip install texteditpad==0.32

Documentation

texteditpad

Simple textbox editing widget with Emacs-like keybindings. Provide richer features than curses.textpad routine and intended to replace it.

pypi repository: https://pypi.python.org/pypi/texteditpad

Usage

def test_editbox(stdscr):
    ncols, nlines = 9, 4
    uly, ulx = 15, 20
    stdscr.addstr(uly - 2, ulx, "Use Ctrl-G to end editing.")
    win = curses.newwin(nlines, ncols, uly, ulx)
    stdscr.refresh()

    return texteditpad.Textbox(win).edit()

text = curses.wrapper(test_editbox)
print 'Contents of text box:'
print text

Commands

Editing widget using the interior of a window object. Supports the following Emacs-like key bindings:

Command Description
Ctrl-A Go to left edge of window.
Ctrl-B Cursor left, wrapping to previous line if appropriate.
Ctrl-D Delete character under cursor.
Ctrl-E Go to right edge or end of line
Ctrl-F Cursor right, wrapping to next line when appropriate.
Ctrl-G Terminate, returning the window contents.
Ctrl-H Delete character backward.
Ctrl-I Toggle insert/overwrite modes.
Ctrl-K If line is blank, delete it, otherwise clear to end of line.
Ctrl-L Refresh screen.
Ctrl-N Cursor down; move down one line.
Ctrl-O Insert a blank line at cursor location.
Ctrl-P Cursor up; move up one line.