Commit Graph

416 Commits

Author SHA1 Message Date
fc1e1bdd1e vim:ftplug:fugitiveblame: Disable cword highlighting 2024-11-04 13:22:33 +01:00
5fa05e94a3 vim:ftdetect: Detect Bochs config files 2024-11-04 08:17:35 +01:00
d88ae4d808 vim:ftdetect: Detect *.nasm as asm files 2024-11-03 16:58:35 +01:00
4f25801402 vim:au: Rename functions from CamelCase to snake_case
Make them also script-local as I don't need them outside.
2024-11-01 00:57:58 +01:00
92cc304bbb vim:au: Improve performance of cword/selection highlight
- Combine one `exists` call with an implicit `get` into a `get` with an
  empty default
- Do not stop any timer in the `Highlight*` functions as this done
  already by `ClearHighlights`
- Get rid of the check for existence of `w:*_timer_id` since I believe
  that there is no way of it being unset in the current state. The
  `_Highlight*` functions are only called via the timer so there should
  always be the variable. I could also not reproduce the description in
  the comment - this might have been true in a previous revision.
- Make sure that the visual selection itself is not matched. This
  actually increased the performance a lot while also looking like
  normally (there were some subtle differences between the highlight by
  visual mode and `CursorColumn`)
2024-11-01 00:47:19 +01:00
859337e9c0 vim:au: Defer selection highlighting by 100ms too
This makes moving the cursor in visual mode more responsive.
2024-10-31 23:20:44 +01:00
3cdb9d6902 vim:au: Stop timer too when clearing cword highlight
When deleting the cword match, any running timer should stop too so that
the highlighting does not restart. This had led to some weird flickering
bug.
2024-10-31 23:18:32 +01:00
d87d2cfee5 vim:NrrwRgn: Don't let splits take full width
The default setting of `g:loaded_nrrw_rgn` is `topleft` which opens the
split at the very top/far left and makes the window have full
width/height. This is very annoying when narrowing multiple splits.
2024-10-30 15:53:28 +01:00
2a4812a740 vim:ftplug:qf: Disable spell checking 2024-10-30 13:12:53 +01:00
c608700199 vim:aucmd: Highlight selection on linewise v-mode
I assumed that the selection will always be one character long when the
ModeChanged event is triggered. This is not the case when entering
linewise visual mode.

Fixes: b0688da69e ("vim:aucmd: Do not highlight selection on
       ModeChanged")
TODO: There are more ways of triggering ModeChanged to visual mode with
      a selection of more than one character (e.g. `[count]v`).
2024-10-28 21:16:29 +01:00
c011f2ed6a vim:setts: Don't auto-open folds when searching
This makes it a lot easier to restrict the search (besides searching in
visual selection, which is quite limited). The cursor will still land on
the closed fold but only once, independent of the number of hits inside
of the fold.
2024-10-28 16:59:03 +01:00
4d93db3947 vim: Keep only one timer for checktime
Every time the file was sourced, a new timer was created.
2024-10-27 19:11:12 +01:00
12e14673bd vim:aucmd:TODO: CursorMoved != SelectionChanged
There are operations that change the visual selection without moving the
cursor (e.g. `viw` when on the last character). These do not trigger
CursorMoved so the highlighting also does not change.

TODO: <COMMIT>
2024-10-27 19:11:12 +01:00
714a6cd120 vim:aucmd: Specify what highlight to clear
There shouldn't be highlights of the other kind (cword <-> visual)
around.
2024-10-27 19:11:12 +01:00
b0688da69e vim:aucmd: Do not highlight selection on ModeChanged
Do not call HighlightVisualSel when the mode changes to visual mode, as
then the selection is still only one character long, which I rarely want
to highlight. If I do I can still move the cursor forth and back once.

TODO: Are there situation where ModeChanged is triggered and the
      selection is immediately longer than one char without triggering
      CursorMoved?
2024-10-27 19:11:12 +01:00
2a1346e74e vim:aucmd: Abort cword highlighting earlier
When we're still on the same word, the highlighting can be just kept as
is without starting a new timer.
2024-10-27 19:11:07 +01:00
626855ec69 vim:keys:TODO: Add <leader>[hl] v-mappings
TODO: <SUBJECT>
2024-10-21 17:19:52 +02:00
f4d3a4364b vim:xdg: Fix updating spellfile through modeline
Setting `&spellfile` from the modeline is not allowed and will result in
an `E523: not allowed here` error. Fix the updating of the file by
additionally having an autocommand on BufWinEnter (i.e. after the
modeline was read).

TODO: Also get rid of the error message when rereading the modeline (:e)
2024-10-19 17:57:47 +02:00
f9764de6d5 vim:keys:TODO: Handle errors when referencing commits 2024-10-18 16:13:36 +02:00
09f9ffbd8e vim:ftplug:gitcommit: Abbreviate buffer-locally
Abbreviate `cq` only in the current buffer (i.e. the commit message).
2024-10-18 16:13:36 +02:00
890c8526ee vim:ftplug:gitcommit: Abbreviate cq to %d | x 2024-10-18 16:13:36 +02:00
b61894fcc9 vim:ftplug:gitcommit:TODO: Adjust subject length limit 2024-10-16 14:57:38 +02:00
72770f6703 vim:setts: Don't wrap termdebug settings in aucmd 2024-10-16 14:53:39 +02:00
908cc494a2 vim:keys: Fix typo in comment 2024-10-16 14:53:39 +02:00
c7c130f050 vim:aucmd: Don't highlight trailing spaces in terminal 2024-10-16 14:53:39 +02:00
dd5663b564 vim:aucmd: Fix missing w:cword_timer_id error msg 2024-10-16 10:44:19 +02:00
8a101134c7 vim:ftplug:fzf: Complete list of TUI Unicode chars
This excludes more characters than needed.

Fixes: 86af2da785 ("vim:ftplug:fzf:TODO: Look up other Unicode chars")
2024-10-14 11:56:28 +02:00
c27128fc5a vim:aucmd: Delay cword highlighting by 100ms
This should lead to better performance while scrolling through a file.
2024-09-30 11:46:03 +02:00
4cc3b6536c vim:keys: Keep cursor position on visual yank
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
2024-09-25 14:33:00 +02:00
bdbeada7aa vim:aucmd: Fix display of selection size indicator
Fixes: 29928505ff45 ("vim:aucmd:TODO: Fix display of selection size")
2024-09-25 14:33:00 +02:00
efea98f29c vim:aucmd:HighVisualSel: Abort on empty selection
When starting visual mode on an empty line (i.e. empty selection)
everything would get highlighted.
2024-09-25 14:33:00 +02:00
551db1f1d5 vim:aucmd:TODO: Fix display of selection size 2024-09-25 14:32:59 +02:00
b8f5d63b4c vim:keys: Fix triggering of hlsearch on n/N 2024-09-25 14:32:59 +02:00
459e0b7113 vim:keys:TODO: Modularize changes to ]]/][ maps 2024-09-25 14:32:59 +02:00
6f8fc406d6 vim:keys: Fix [[ mappings
I broke the default behaviour of jumping to open braces that are alone
on their line.
2024-09-25 10:54:57 +02:00
6a55f616cc vim:ftplug:fzf: Add another Unicode UI character
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").
2024-09-25 10:54:56 +02:00
86af2da785 vim:ftplug:fzf:TODO: Look up other Unicode chars 2024-09-21 00:53:23 +02:00
5b84d4ae55 vim:setts: Only one global status line
for more screen real-estate.
2024-09-21 00:37:43 +02:00
b299ea510f vim:ftplug:vimwiki: Copy markdown section folding 2024-09-21 00:33:24 +02:00
43bca5f51e vim:ftplug:md: Add ! to MdSectionFold definition 2024-09-21 00:30:40 +02:00
9d756c2748 zsh:alias: Add duration that formats seconds 2024-09-20 16:29:51 +02:00
fceea7bc32 vim:fzf: Increase window size
Default/previous setting was:

    let g:fzf_layout = { 'window': { 'width': 0.9, 'height': 0.6 } }
2024-09-18 15:16:42 +02:00
61f1a7ee9b vim:keys: Cycle spelllangs only between en & de
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`.
2024-09-18 15:16:42 +02:00
e54b1fc71a vim:keys: WIP fix swapping of ]] and ][
Make ][ and ]] work like they used to with the new functionality through
a workaround.

The problem is that recursive mappings are evaluated at runtime not
"compiletime" - which is what I would need in this situation.

I still want both mappings blocks so that they are not entangled and I
can turn each one off without affecting the other.
2024-08-30 18:14:20 +02:00
034db637c7 vim:keys: Relax [[ maps for different style guides
I use the [[ & etc. mappings to jump between function definitions in C.
This works as long as the braces are put on a newline (like in the
kernel coding style guide).

Relax the mappings for opening braces to jump to unindented lines with
an opening brace to cover also different style guides.
2024-08-30 18:14:20 +02:00
c1d91fa934 vim:setts: Re-enable 'wrap'
I don't remember why I turned it off. But currently I enable it a lot.
2024-07-11 19:09:36 +02:00
1075264593 vim:setts: Add / to 'formatoptions'
Do not insert the comment leader on 'o' on trailing inline comments.
2024-07-11 19:09:32 +02:00
9db4b32f02 vim:aucmd: Make highlighting toggleable 2024-04-03 13:34:33 +02:00
06b987afa8 vim:aucmd: Put often used <cword> into variable 2024-04-03 13:34:19 +02:00
e84eaba7a2 vim:aucmd: Don't overwrite constants when sourcing
When resourcing the vimscript (i.e. writing it) currently three errors
are printed that constant values cannot be overwritten.
2024-04-03 13:32:23 +02:00