Crate modalkit

source ·
Expand description



This crate allows building terminal applications that support modal input, such as the Vim text editor.

The env module contains keybindings for Vim and Emacs, which can be used along with key::TerminalKey in the terminal to generate actions that can be used to drive editing.


For examples using this crate, check out:

  • modalkit-ratatui, for how to build TUI interfaces
  • scansion for building a shell-like application
  • iamb for a larger example of building a TUI application with custom actions



  • Tracking and processing for commands
  • Editing support
  • Editing environments
  • Input keys
  • Frequently used types
  • Components for building User Interfaces