Add two vmaps that call ExpandVisualSelection() for the appropriate
direction.
That expands the selection over all directly following lines in the
given direction that contain the current selection at the same position.
Example:
```
- TODO: ...
- TODO: ...
- TODO: ...
```
In visual block one can select `TODO: ` on the first line and then call
`ExpandVisualSelection(1)` which results in a block selection that spans
over all other TODOs as well.
Map <C-BS> (i.e. Ctrl-Backspace) to delete one word in insert mode & co.
as it is properly recognized in some terminals implementing [fixterm][1]
(e.g. kitty and patched st).
Keep the <C-H> mapping for other terminals but reuse the <C-BS> mapping.
[1]: http://www.leonerd.org.uk/hacks/fixterms/
Similar to <leader>* in normal mode, set the search pattern to the
visual selection and start a ripgrep search.
To not mess up the commandline, potential quotes that are the same as
the ones used around the string need to be escaped. As this is only
possible with double quotes, a second layer of backslash escaping is
needed as well.
Because of that, **before** escaping backslashes and double quotes, all
backslashes need to be escaped a second time. The other way around would
result in two backslashes in front of each double quote, which would
miss the whole point entirely.
In addition GetVisualSelection needed to be expanded to first reselect
the visual selection for it to work in the new mapping.
I rarely use them and are more an annoyance.
For the case that I want to enable them in a session, move the
numbertoggle augroup into a function and add an autocommand on
`OptionSet relativenumber`.
When file arguments were passes behind `--`, show only these files in
the patch preview. This mimics the behaviour of `git log -up --
<files>`.
The full patch can still be displayed with ctrl-p.
Underline old cursor position for better readability. Reusing
`TermCursor` made me confuse the current window many times.
My favorite solution would be an empty box around the position similar
to how terminals do it when focus is lost. But I fear that this is not
possible with a simple highlighting group.
When the cursor is on the last character of the hash (e.g. after
pasting), the mapping would break and insert the commit subject behind
the next word.
Fix this by using `viw<Esc>` which places the cursor on the end of the
current word independent of the placement of the cursor.
Sometimes I want to see other branches but the repository is too big for
`--graph`.
Add `gla` as alias to `glog --branches --remotes` similar to `glll`.
Add `glla` as further alias to `glll` and make the brace expansion more
verbose for better readability.
The shell function git-signoff was replaced with gits builtin
functionality in 09ef4d4d93 ("git: Replace git-signoff with `rebase
--signoff`").
Also adjust the example in the new commment.