NonGNU ELPA - meow


Yet Another modal editing
meow-1.4.2.tar, 2022-Dec-30, 380 KiB
Shi Tianshu <>
Browse ELPA's repository
CGit or Gitweb

To install this package, run in Emacs:

M-x package-install RET meow RET

Full description

Sorry, your browser does not support SVG. Sorry, your browser does not support SVG. Sorry, your browser does not support SVG.

Sorry, your browser does not support SVG.

1 Introduction

Less is more

Meow is yet another modal editing mode for Emacs.

Meow aims to blend modal editing into Emacs with minimal interference with its original key-bindings, avoiding most of the hassle introduced by key-binding conflicts. This leads to lower necessary configuration and better integration. More is achieved with fewer commands to remember.

Key features compared to existing solutions:

  • Minimal configuration – build your own modal editing system
  • No third-party dependencies (try it without touching your configuration)
  • Doesn't occupy too many keys
    • Much easier to remember for people trying modal editing
    • More keys available for your own key-bindings
    • Most of the time, you don't even need to hold shift!
  • Lightning fast (unlike Evil)
  • Minimizes modifier usage (e.g. SPC x f for C-x C-f) inspired by god-mode
  • Better workflow for kmacro application at multiple locations
  • Interactive selection manipulation and expansion inspired by avy
  • Selection as top-tier object, and keybindings built around selection
  • Compatible with the vanilla Emacs keymap (or any other keymap from any package)
  • Effortless uniform keymaps across modes
  • Key-binding conflict handling made easy

2 Community

Please feel free to ask questions and share ideas in the Discussion.

3 Documents

Get started - Installation and configuration

Tutorial - Learn Meow in 15 minutes

FAQ - Frequently Asked Questions

Commands - Documentation for commands

Customizations - Helper functions and variables

Explanation - Ideas and concepts behind Meow

Changelog - Changes, releases, and news

4 License

Licensed under GPLv3.



Master (Unreleased)

1.4.2 (2022-03-13)

Bugs fixed
  • #163 Fix using command with Meta key bindings in BEACON state.
  • Update the oldest supported Emacs version to 27.1.
  • #204 Allow using keypad in BEACON state.
  • Add "MOVE AROUND THINGs" section to meow-tutor.el.
  • Update meow-goto-line to expand meow-line.
Bugs fixed
  • Fix meow-mark-symbol in BEACON state.
  • #204 Fix keypad in telega.
  • Fix no variable meow--which-key-setup error when deactivating meow.

1.4.1 (2022-02-16)

  • Add which-key support.
  • Add custom variable meow-goto-line-function.
  • ~~Support specified leader keymap by altering meow-keymap-alist.~~
  • Support specifying the target of meow-leader-define-key by altering meow-keymap-alist.
  • Add a variable meow-keypad-leader-dispatch.
Bugs fixed
  • Fix keypad popup delay.
  • Fix keypad popup when C-c is bound to other keymap.
  • #197 Fix meow-kill for select line selection.
  • #198 Fix invalid mode states with poly mode.

1.4.0 (2022-01-24)

Breaking Changes
Keypad Refactor

The rules of KEYPAD is slightly updated to eliminate the need for a leader system. The overall usage is basically unchanged, use same keys for same commands.

  • meow-leader-keymap is removed.
  • A new command meow-keypad is introduced, bound to SPC in NORMAL/MOTION state.
  • Press SPC to enter KEYPAD state.
  • Add quick dispatching from SPC <key> to C-c <key>, where <key> is not one of x, c, h, m, g.

Check document or meow-tutor for updated information.

  • Improve document for word movements.
Bugs fixed
  • Meow is not enabled in existing buffers after desktop-read.

1.3.0 (2022-01-15)

  • #155 #166 #158 Add meow-define-state and meow-register-state to allow user define custom state.
  • Remap describe-key to meow-describe-key which handles the dispatched keybinds.
  • Allow leader in beacon state(still can not switch to keypad).
  • #164 Add fallback support for meta & control-meta prefix in keypad.
Bugs fixed
  • #148 Wrap regexp-quote for raw search in meow-search.
  • #144 #145 #151 Improve wording in meow-tutor.
  • #153 Avoid executing symbol-name w.r.t lambda func.
  • In some cases previous state can't be stored, when dispatching to a keymap with keypad.

1.2.1 (2021-12-22)

Bugs fixed
  • hl-line-mode is not restored correctly after beacon state.
  • Using meow-grab in beacon kmacro recording causes residual overlays.
  • #138 meow-global-mode does not work after being turned off.
  • Wrong count in search indicator when searching same contents cross buffers.
  • Better initial state detection.
  • #143 Wrong column beacon positions when secondary selection is not started with line beginning.

1.2.0 (2021-12-16)

Breaking Changes
Changes for THING register

The built-in thing definition shipped by meow should be more close to what Emacs gives us. So two previously added, complex things are removed. A helper function is added, so you can easily register new thing with Emacs things, functions, syntax descriptions or regexp pairs.

  • A helper function meow-thing-register is provided, check its document for usage.
  • Thing indent and extend has been removed. ... ...