when making TUI program, use '\x1b[?1049h\x1b[H' to switch to another term buffer and '\x1b[?1049l' to switch back. This way you leave user's terminal intact

you can start simple web server with 'python3 -m http.server', great when making static websites

use 'z=' in vim to spell check one word. To enable full spell checker, use ':set spell'. To set languages, use ':set spelllang=...'

run 'setxkbmap -option ctrl:nocaps' to replace capslock with additional ctrl key. you can find (way) more options in '/usr/share/X11/xkb/rules/xorg.lst'

the "interrobang" character (‽) exists

You can make nvim nvim your manpager with: export MANPAGER='nvim +Man!'

The annoyng buffer you open in vim all the time is invoked via 'q:'

If your fonts look all funny and inconsistent in size, try 'xrandr --dpi 96'

The C preprocessor can be used separetly via the 'cpp' command.

You can configure context menus in tmux via 'display-menu', both for mouse, and for keybindings.

If you install Nvidia drivers from outside the package manager, they might need reinstall after kernel update. To kill X session with display manager, you have to 'systemctl stop' it.

Don't forget to update your: packages, flatpaks, snaps, firmware, editor extensions

when using xdotool from xbindkeys (such as when rebinding the mouse), add '--window' flag in the middle like so: 'xdotool mousedown --window $(xdotool getactivewindow) 2'

to properly remap mouse buttons to each other, use something like:

#!/bin/sh
MICE=$(xinput list | grep -i mouse | grep pointer |
       awk -F'id=' '{print $2}' | awk '{print $1}')

for MOUSE in $MICE; do
    xinput set-button-map "$MOUSE" 1 2 3 4 5 6 7 8 2
done

You can move your local repo to GitHub via 'gh repo create'

Windows (or at least MS Word) tends to remove (sym)links in samba share and replace them with local copies. Classic M$.