The `vi-` versions stop working after using `push-input` and trying to
edit the reappeared line.
This could be an upstream bug, as I can recreate it with `zsh -f`.
- CheckBackspace needs to be used instead of <SID>CheckBackspace
- Comment out clashing/obtrusive leader/space mappings
- Change classobj mappings to use `o` as they were clashing with the
comment textobj.
- Simulate the default statusline with the help of 'statusline'.
Otherwise it would be empty/just containing coc elements.
Introduce first mapping that follows the 'fixed keyboard input'[^1]
sequences. They allow the differentiation of all keys with each modifier
without gotchas like `tab` send the same sequence as `ctrl-i`.
[^1] - https://www.leonerd.org.uk/hacks/fixterms/
Additionally to start the search with ripgrep, start a vim search as
well. That way navigation between search results in the opened file is
easier.
The register is modified directly and hlsearch is turned on manually
instead of using the builtin `*`, so that the cursor does not move to
the next result in the current file.
Set `nomodified` after reading from standard input. This way the buffer
can be closed without error message.
This will **not** disable modified warnings completely. If the input is
modified after read, vim will reset `modified` (As it should).
Swap the behaviour of `[[` `[]`. This way the first bracket indicates
the direction of the motion and the second the target (i.e. open or
closed brace).
I assume that the reason behind these mappings is to be able to easily
change the direction of the move by 'inverting' the keys (e.g. `]]` ->
`[[`). I understand that, but find the new way more intuitive.
If a pattern is passed that starts with a special character, the
`[]`-"quoting" would possible lead to errors or change it's meaning.
To prevent that, pass the argument directly to grep if it looks like a
regex (i.e. contains a special character).
Instead of replacing pgrep, have this function under a slightly
different name.
Also add support for multiple arguments as the function does not aim to
be called under the same name now.