Add configuration for zsh

- Add ~/.zshrc
  + Configure on how the `history` works
  + Enable nicer `cd` and globbing behavior
  + Enable tab completion, and make them feel nicer
  + Enable VI mode and add some VI-like key bindings
- Add ~/.zlogout clearing the screen
- Add ~/.config/zsh/.zshrc and make it dispatch to ~/.zshrc
  to make `zsh` use the same configuration even on more
  recent Debian/Ubuntu machines that do not look for
  ~/.zshrc any more
- Ensure ~/.local/state/zsh/ exists
This commit is contained in:
Alexander Hess 2026-06-11 18:28:02 +02:00
commit 3abcdabf31
Signed by: alexander
GPG key ID: B46EDB4DFC26805D
11 changed files with 209 additions and 0 deletions

10
.zshenv Normal file
View file

@ -0,0 +1,10 @@
#!/bin/zsh
# Sourced by `zsh` before /etc/zsh/zshrc,
# and thus the only place where the following can be set in time
# On Ubuntu (not Debian), /etc/zsh/zshrc calls `compinit` without arguments
# unless this flag is set, which would create a second ~/.zcompdump
# next to the XDG one set in ~/.zshrc
# => Harmless no-op on Debian, needed on Ubuntu and derivatives
skip_global_compinit=1