The `${(*)...}` parameter expansion flag was only introduced in
zsh-5.8.1.2-test, but EXTENDED_GLOB is needed for the `(#m)` globbing
flag. To support older zsh versions too, solve this by using a subshell
in which EXTENDED_GLOB is temporarily enabled.
The cursor is always moved to the beginning of the selection when
yanking in visual mode. This mapping resets the position back to where
it was.
Link: https://stackoverflow.com/a/3806664/20927629
By the way: Apparently I committed the initial commit of fzf.vim and the
one adding the TODO accidentally together in 86af2da785
("vim:ftplug:fzf:TODO: Look up other Unicode chars").
If :h 'spelllang' is something else, do nothing.
A possible future improvement could be to keep a list of the languages
to cycle between and first adding any other languages to this list so
that one could return to the original setting. I see this especially
useful when the current setting is `en,de`.
Apparently I broke them in commit 4e8ab80c66 ("tmux: Fix edge cases
in paragraph text-object") by adding the comments. Through them the
bindings were not set in place since the binding stopped with the
comment (I guess?). Weirdly I do not get an error message and the
default bindings stay, so I am not sure what exactly happens. This could
also be due to a version change from 3.3a to 3.4.
Fix the bindings by starting a code block instead of just escaping the
newline.
Do this also everywhere else to prevent errors in the future.
`copy_exec` was stupid since it brought unnecessary shell overhead even
though it was meant to improve performance (one could argue that it is
not even necessary here).
Continue the idea of reducing calls to `tmux` by "globally" chaining
together all copy-mode commands instead of doing it only "locally" with
`copy_exec`. This has the added benefit that also calls having arguments
can be included and merged.