All commands used in NORMAL state
More than half of commands are about movement, they can be classified into 4 groups.
Char & Word movement have explicit direction. Current selection’s direction will always be ignored.
Move cursor left/right.
Selection type: expand char
Move cursor left/right and select, the selection can be expand by other char movements.
Move cursor to previous/next line.
Selection type: expand char
Move cursor prev/next and select, the selection can be expand by other char movements.
Selection Type: expand word
Select current word/symbol(from its beginning to end), push the content into regexp-search-ring
.
Selection Type: no-expand word
Forward select to the word/symbol end.
Selection type: no-expand word
Backward select to the word/symbol beginning.
For command in these group, reverse movement can be done with negative argument.
Command will respect the direction if current selection has the same selection type(e.g. line
vs line
)
N: number from 0 to 9.
After each movement(except char movement), further position hint will be displayed inline. Use this command to expand quickly.
Selection type: no-expand visit
Read a regexp from minibuffer, search and select it.
The input will be pushed into regexp-search-ring
. So
meow-search
can be used for further searching with the same condition.
A list of occurred regexps will be provided for completion, the regexps will
be sanitized by default. To display them in raw format, set
meow-visit-sanitize-completion
to nil.
Selection type: no-expand visit
Search and select with the car of current regexp-search-ring
.
If the contents of selection doesn’t match the regexp, will push it to regexp-search-ring
before searching.
Selection type: expand line
Select current line.
Selection type: expand block
Select current block. Block means a matched parens(usually (...)
, [...]
or {...}
).
Selection type: expand block
Select from current point, to the next block.
Selection type: no-expand find
Select from current point, to the far end of a specific character.
Selection type: no-expand till
Select from current point, to the near end of a specific character.
Selection type: expand join
Select from previous non-empty line’s end to this line’s indentation.
These commands are thing-based, each commands will prompt you a single key input.
Selection type: transient
, means no way to expand.
thing | key |
---|---|
round paren | r |
square paren | s |
curly paren | c |
string | g |
paragraph | p |
line | l |
defun | d |
buffer | b |
Select the inner part of thing. e.g. A Lisp expression without parentheses.
Select the whole thing.
Select from current point to the beginning of thing.
Select from current point to the end of thing.
Switch to INSERT state at the beginning of region
Switch to INSERT state at the end of region
Delete current region and switch to INSERT state. When exit from INSERT state, inserted content will be selected.
This command support fallback behaviour, default to meow-change-char
.
Delete current character and switch to INSERT state.
Insert a new line above, switch to INSERT state at that line.
Insert a new line below, switch to INSERT state at that line.
Kill current region.
Depending on the current selection type, there are two special cases:
- for
line
selection, the whole line plus the newline character will be added to the killed content; - for
join
selection, selected region will be deleted, not killed.
This command supports fallback behaviour. Default to meow-C-k
.
Call the command on C-k
.
Call the command on C-d
.
Copy.
This command support fallback behaviour.
Yank.
Pop yank.
Replace current region with current kill.
This command support fallback behaviour.
Cancel selection.
This command support fallback behaviour, default to keyboard-quit
.
Reverse current selection.
This command support fallback behaviour.
Undo. Unlike builtin undo
, this command will always cancel selection.
Undo in current selection.
Pop one selection.
This command support fallback behaviour, default to meow-pop-grab
.
Turn current selection into secondary selection.
Synchronize the contents of secondary selection to the contents of current region.
Additionally, grab current position(thus you can come back later with meow-pop-grab
).
Swap the contents of secondary selection with the contents of current region.
Additionally, grab current position.
Cancel secondary selection.
This command is used as a fallback behaviour for meow-pop-selection
by default.