Commit Graph

1681 Commits

Author SHA1 Message Date
274549dddc polybar: Use new builtin tray module
New in 3.7.
2024-09-21 00:15:33 +02:00
a6aa86f2e4 git:ignore: Add .ipynb_checkpoints
Created by Jupyter notebooks.
2024-09-21 00:07:26 +02:00
d30b102e42 git: Set merge.conflictstyle to diff3
Display original text in addition to changes from both sides.
2024-09-21 00:03:34 +02:00
ea2a02626d git: Test delta as diff-so-fancy replacement
Don't know yet if I like it better
2024-09-21 00:03:01 +02:00
9e19a19f76 git:alias: Fix sorting 2024-09-21 00:02:00 +02:00
7aee885ce8 git:alias: Fix flog -> glog typo
I never really use this but instead `glog` directly, but still.
2024-09-21 00:01:52 +02:00
0fd2e2d04f firefox: Don't hide tabs & searchbar in fullscreen 2024-09-20 23:58:37 +02:00
b97c0116b1 dircolors: Highlight dev-env files in yellow 2024-09-20 23:56:09 +02:00
9d756c2748 zsh:alias: Add duration that formats seconds 2024-09-20 16:29:51 +02:00
c273c3ac52 tmux: Manually "backport" scroll-middle if missing
First working draft
2024-09-18 16:30:45 +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
f5673c2082 tmux: Respawn dead pane on Enter 2024-09-18 15:16:41 +02:00
c6b317f794 tmux: Fix C-e & C-y bindings
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.
2024-09-15 22:44:52 +02:00
29e6b46135 tmux:textobjs:TODO: Merge all get_var calls
I want to minimize the needed calls to `tmux` to 2.
2024-09-04 16:38:52 +02:00
ec417a439c tmux:textobjs: Merge all copy-mode commands
`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.
2024-09-04 16:38:52 +02:00
882ce0de93 tmux:textobjs: Reduce calls to tmux
Put multiple commands together in one tmux call instead of calling it
every time.
2024-09-04 16:38:52 +02:00
267814f075 tmux:textobjs: Fix faulty UTF-8 handling by cut 2024-09-04 08:00:40 +02:00
7e25fed27c tmux:textobjs: Implement more objects (`,[,(,<,{) 2024-09-04 08:00:40 +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
cab360ecf7 tmux: Require confirmation before killing a pane
It happened to me multiple times that I closed a pane without actually
wanting it via a (too) quick <C-d>.

Activate remain-on-exit so that I have to press <C-d> twice before the
pane is actually killed. Dead panes can be recovered with
`respawn-pane`.

Will see how this goes - could be annoying.
2024-08-30 18:14:20 +02:00
48536921d7 tmux:textobjs:TODO: Fix non-ASCII characters 2024-08-30 18:14:19 +02:00
1e4934989b tmux:textobjs: Do nothing when sitting on a space
When the cursor sits on a space character on `iw`, vim does nothing.
2024-08-30 18:14:19 +02:00
c106639a30 tmux:textobjs: Fix word & WORD edge cases 2024-08-30 18:14:19 +02:00
9d0631e858 tmux: Copy multi-click selection into primary
Also split the MouseDragEnd1Pane binding so that the full xclip
arguments can be written out to stay consistent.
2024-08-26 12:12:14 +02:00
4b8e877305 tmux: Use SecondClick instead of DoubleClick event
Make the word selection instant by changing the mouse event. If a third
click follows, the selection just changes to the full line.
2024-08-26 12:12:14 +02:00
faee7ea2ea tmux: Reorder prefix setting to top of bindings 2024-08-26 12:02:57 +02:00
41360b8278 tmux: Group options setting 2024-08-26 12:02:57 +02:00
873021ba80 tmux: Do not copy-and-cancel after a multi click
If I select a word or line with a double or triple click, I want it to
stay selected.
2024-08-26 12:02:50 +02:00
48d2ccec6c git: Update email address 2024-07-25 22:24:35 +02:00
ae626e9e90 zsh:alias: Change gr alias to git reset
I had multiple occasions where I thought that `gr` would resolve to git
reset. I should switch to using `gri` for a rebase.
2024-07-25 11:52:18 +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
120285c478 tmux:textobjs: Do not use scroll_region
scroll_region_{upper,lower} are only modified by the DECSTBM escape
sequence:

> This control function sets the top and bottom margins for the current
> page. You cannot perform scrolling outside the margins.

And are 0 and pane_height - 1 otherwise. Tmux implements these such that
command output can't be displayed outside these margins, but the cursor
in copy-mode can. This means that using them to check if the cursor is
at the very top or bottom can break in certain situation (even those
seem extremely rare since I have never heard of this escape sequence).

Get rid of them and just use 0 and the pane height.

[1]: https://vt100.net/docs/vt510-rm/DECSTBM.html
2024-07-05 14:26:05 +02:00
7565ae2f6f tmux: Move textobj simulation into own textobjs.sh 2024-07-05 14:26:04 +02:00
4e8ab80c66 tmux: Fix edge cases in paragraph text-object
Also add comments explaining the history & pane position checks in the
C-y and C-e bindings, since I used those and had to rethink about what
they're doing.
2024-07-05 14:26:04 +02:00
b0b0a2ebea tmux: Formatting: Break long if-statements 2024-07-04 14:46:59 +02:00
e04953c123 tmux:yank: Add note about text object simulation 2024-07-04 14:46:58 +02:00
ec637ad1c8 tmux: Support repeatable yank motions via yank.sh
Implementing logic inside tmux's config starts to become tedious with
growing complexity. Introduce a shell script that handles the logic of
the (now also repeatable) vim-like bindings.
2024-07-04 14:46:58 +02:00
91d34358ec tmux: Use %1 instead of %%
According to the manpage all occurrences of `%1` are replaced, but only
the first of `%%`. The binding also worked with `%%`, but better stick
to the docs.
2024-07-04 14:46:58 +02:00
4f5d853823 tmux: Support yy in copy-mode-vi 2024-07-04 11:46:43 +02:00
c3ae99aa94 tmux: Fix broken target window flag
tmux stopped supporting format strings for the -t flag
2024-05-29 14:34:47 +02:00
96de70a433 git:column: Fill columns before rows
This is way easier to parse even if it means that I have to potentially
scroll more.
2024-05-24 10:44:55 +02:00
9095d6667c fzf: Update 0.41.1 -> 0.51.0 2024-05-24 10:44:55 +02:00
ec4bb20625 zsh:alias: Add TODO note to fragile rm condition 2024-05-12 21:00:12 +02:00
f000b53882 zsh:alias: Only add flags to rm, not aliased trash 2024-05-12 20:57:04 +02:00
46da4a617d zsh:alias: Disable CORRECT_ALL for mkdir
It's really annoying if it tries to correct me when I create a new
directory that is named similar to an existing one.

Group together aliases that add a precommand modifier.

Since `mkdir` receives the `-p` flag already via `add_flags` the `md`
alias can directly alias to `mkdir` instead.
2024-05-10 13:22:45 +02:00
6b25a2ce4e zsh:alias: Move add_flags section to the bottom
This way the commands can get aliased in other ways first and then get
their flags added.
2024-05-10 13:17:05 +02:00
2fabe6dd4c tmux: Add notes to some bindings
This has the benefit that these bindings now show up in the output of
`list-keys -N` (bound to `<C-a>?`).
2024-05-02 11:21:49 +02:00