zshrc: nvim-cheats, claude-profiles, Secrets-Loading, Fixes
- nvim-cheats Funktion mit allen wichtigen Shortcuts (neu) - claude-profiles-Block (claude-priv/work/account) - Secrets-Loading via ~/.secrets - PATH bereinigt: LM Studio Duplikat entfernt, npm-global ergaenzt - Screensaver und Cowsay pruefen jetzt ob Tools installiert sind - temps/yazi/fetch Aliases und Cheat-Sheet aktualisiert - Conda-Block und iTerm2-Integration nicht im Repo (maschinenspezifisch) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
0da6bd40ec
commit
1ad4b02ab8
1 changed files with 140 additions and 32 deletions
172
zsh/.zshrc
172
zsh/.zshrc
|
|
@ -1,5 +1,5 @@
|
|||
# ----------------------------------------------------------
|
||||
# Zsh-Konfiguration fuer Rene (Linux / MacBook Pro)
|
||||
# Zsh-Konfiguration fuer Rene
|
||||
# Oh My Zsh + Powerlevel10k + Micro
|
||||
# ----------------------------------------------------------
|
||||
|
||||
|
|
@ -10,34 +10,44 @@ if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]
|
|||
source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh"
|
||||
fi
|
||||
|
||||
# 1b) Secrets laden (API-Keys etc. — Datei liegt lokal, NICHT im Repo)
|
||||
# 1b) Secrets laden (API-Keys etc. — liegt lokal, NICHT im Repo)
|
||||
[[ -f "$HOME/.secrets" ]] && source "$HOME/.secrets"
|
||||
|
||||
# 2) Oh My Zsh Basis
|
||||
export ZSH="$HOME/.oh-my-zsh"
|
||||
|
||||
# Theme: Powerlevel10k
|
||||
ZSH_THEME="powerlevel10k/powerlevel10k"
|
||||
|
||||
# Plugins
|
||||
# - git: Git-Shortcuts
|
||||
# - zsh-syntax-highlighting: farbige Befehle in der Shell
|
||||
plugins=(
|
||||
git
|
||||
zsh-syntax-highlighting
|
||||
zoxide
|
||||
)
|
||||
|
||||
# Oh My Zsh laden
|
||||
source "$ZSH/oh-my-zsh.sh"
|
||||
|
||||
# 3) Powerlevel10k-Konfiguration
|
||||
# 3) Powerlevel10k-Konfiguration laden (falls vorhanden)
|
||||
[[ -f "$HOME/.p10k.zsh" ]] && source "$HOME/.p10k.zsh"
|
||||
|
||||
# 4) Standard-Editor (lokal: micro, SSH: nicht erzwingen)
|
||||
# 4) Sprache/Lokalisierung (optional, bei Bedarf anpassen)
|
||||
# export LANG=de_DE.UTF-8
|
||||
# export LC_ALL=de_DE.UTF-8
|
||||
|
||||
# 5) Standard-Editor (lokal: micro, SSH-Session: nichts erzwingen)
|
||||
if [[ -z "$SSH_CONNECTION" ]]; then
|
||||
export EDITOR="micro"
|
||||
export VISUAL="micro"
|
||||
fi
|
||||
|
||||
# 5) Pfade
|
||||
export PATH="$HOME/bin:$HOME/.local/bin:$HOME/.npm-global/bin:$PATH"
|
||||
# 6) Pfade erweitern
|
||||
export PATH="$HOME/bin:$HOME/.local/bin:$HOME/.npm-global/bin:$HOME/.lmstudio/bin:$PATH"
|
||||
|
||||
# 6) Aliases
|
||||
# 7) Nützliche Aliases
|
||||
|
||||
# ls-Varianten
|
||||
alias ll='ls -lha'
|
||||
|
|
@ -49,7 +59,7 @@ alias ..='cd ..'
|
|||
alias ...='cd ../..'
|
||||
alias ....='cd ../../..'
|
||||
|
||||
# Konfigdateien
|
||||
# Schneller in Konfigdateien
|
||||
alias zshconfig='micro ~/.zshrc'
|
||||
alias p10kconfig='micro ~/.p10k.zsh'
|
||||
|
||||
|
|
@ -61,8 +71,14 @@ alias gp='git push'
|
|||
alias gl='git log --oneline --graph --decorate'
|
||||
alias gitcheck="~/git-check-all.sh --short"
|
||||
alias gitupdate="~/git-update-all.sh"
|
||||
alias cb="xclip -selection clipboard -o | sed 's/^ //' | xclip -selection clipboard -i"
|
||||
# Offline-KI Shortcuts (LM Studio via ki CLI)
|
||||
alias gitsync="~/git-projekte/dotfiles-rene/bin/git-sync-all.sh"
|
||||
alias mac-sync="curl -fsSL https://git.motocamp.de/rene/dotfiles-rene/raw/branch/main/bin/git-sync-all.sh | bash"
|
||||
alias cb="pbpaste | sed 's/^ //' | pbcopy"
|
||||
# Ubuntu-Kompatibilitaet: fd und bat heissen dort anders
|
||||
command -v fdfind &>/dev/null && ! command -v fd &>/dev/null && alias fd='fdfind'
|
||||
command -v batcat &>/dev/null && ! command -v bat &>/dev/null && alias bat='batcat'
|
||||
|
||||
# Offline-KI Shortcuts
|
||||
alias ki-chat='ki interactive'
|
||||
alias ki-agent='ki interactive --agent-mode'
|
||||
alias ki-rchat='ki --remote interactive'
|
||||
|
|
@ -77,27 +93,7 @@ alias ki-wetter='ki wetter'
|
|||
alias ki-tl='ki tl'
|
||||
|
||||
alias fetch="fastfetch"
|
||||
alias gitsync="~/git-sync-all.sh"
|
||||
alias mac-sync="curl -fsSL https://git.motocamp.de/rene/dotfiles-rene/raw/branch/main/bin/git-sync-all.sh | bash"
|
||||
|
||||
# Ubuntu-Kompatibilitaet: fd und bat heissen dort anders
|
||||
command -v fdfind &>/dev/null && ! command -v fd &>/dev/null && alias fd='fdfind'
|
||||
command -v batcat &>/dev/null && ! command -v bat &>/dev/null && alias bat='batcat'
|
||||
|
||||
# 7) History
|
||||
HISTFILE="$HOME/.zsh_history"
|
||||
HISTSIZE=5000
|
||||
SAVEHIST=5000
|
||||
setopt HIST_IGNORE_DUPS
|
||||
setopt HIST_IGNORE_SPACE
|
||||
setopt SHARE_HISTORY
|
||||
|
||||
# 8) Zsh-Optionen
|
||||
setopt AUTO_CD
|
||||
|
||||
# 9) Fenster-/Tab-Titel
|
||||
precmd() { print -Pn "\e]0;%n@%m: %~\a" }
|
||||
export COLORTERM=truecolor
|
||||
alias temps="sudo powermetrics -s cpu_power,gpu_power,thermal,battery -i 1000 -n 1"
|
||||
|
||||
# Cheat-Sheet: alle Tools, Aliases und Skripte auf einen Blick
|
||||
tools() {
|
||||
|
|
@ -145,6 +141,7 @@ tools() {
|
|||
fzf Fuzzy-Finder (Ctrl+T Dateien, Ctrl+R History)
|
||||
ncdu interaktive Festplattennutzung
|
||||
duf schoene Uebersicht freier Speicherplatz
|
||||
yazi Terminal-Dateimanager (q = quit)
|
||||
micro <datei> einfacher Editor (Ctrl+S, Ctrl+Q)
|
||||
|
||||
BILDER (~/bin)
|
||||
|
|
@ -164,11 +161,18 @@ tools() {
|
|||
SYSTEM & KONFIG
|
||||
────────────────────────────────────────────────────────────────
|
||||
fetch fastfetch (Systeminfo)
|
||||
temps CPU/GPU-Temperatur + Akku (Mac)
|
||||
cb Clipboard bereinigen (2 Leerzeichen weg)
|
||||
zshconfig ~/.zshrc bearbeiten
|
||||
p10kconfig ~/.p10k.zsh bearbeiten
|
||||
tldr <befehl> Kurzanleitung mit Beispielen
|
||||
|
||||
CLAUDE CODE
|
||||
────────────────────────────────────────────────────────────────
|
||||
claude-priv Claude Code mit Privat-Account (mail@motocamp.de)
|
||||
claude-work Claude Code mit Work-Account (rene@rm202.de)
|
||||
claude-account priv|work Re-Login: abmelden, Browser, neu anmelden
|
||||
|
||||
MACBOOK-SETUP (curl | bash)
|
||||
────────────────────────────────────────────────────────────────
|
||||
setup-base.sh <13|16> Basis-Setup (als root)
|
||||
|
|
@ -221,7 +225,8 @@ if [[ -o interactive ]] && command -v cowsay &>/dev/null; then
|
|||
_greet() {
|
||||
local all_cows=(default tux sheep elephant dragon gnu koala)
|
||||
local cow_files=()
|
||||
local cowpath=$(cowsay -l 2>/dev/null | tail -n +2 | tr ' ' '\n')
|
||||
local cowpath
|
||||
cowpath=$(cowsay -l 2>/dev/null | tail -n +2 | tr ' ' '\n')
|
||||
for c in "${all_cows[@]}"; do
|
||||
echo "$cowpath" | grep -qx "$c" && cow_files+=("$c")
|
||||
done
|
||||
|
|
@ -259,3 +264,106 @@ if [[ -o interactive ]] && command -v cowsay &>/dev/null; then
|
|||
_greet
|
||||
unfunction _greet
|
||||
fi
|
||||
|
||||
# 8) History
|
||||
HISTFILE="$HOME/.zsh_history"
|
||||
HISTSIZE=5000
|
||||
SAVEHIST=5000
|
||||
|
||||
setopt HIST_IGNORE_DUPS # keine direkt aufeinanderfolgenden Duplikate
|
||||
setopt HIST_IGNORE_SPACE # Befehle, die mit Leerzeichen beginnen, nicht speichern
|
||||
setopt SHARE_HISTORY # History zwischen mehreren Zsh-Sessions teilen
|
||||
|
||||
# Automatisches cd wenn nur ein Verzeichnisname eingegeben wird
|
||||
setopt AUTO_CD
|
||||
|
||||
# 9) Prompt-Titel (Fenster-/Tab-Titel)
|
||||
precmd() { print -Pn "\e]0;%n@%m: %~\a" }
|
||||
export COLORTERM=truecolor
|
||||
|
||||
# claude-profiles-start
|
||||
alias claude-priv='CLAUDE_CONFIG_DIR=~/.claude-priv command claude' # mail@motocamp.de
|
||||
alias claude-work='CLAUDE_CONFIG_DIR=~/.claude-work command claude' # rene@rm202.de
|
||||
alias claude='echo "Bitte claude-priv oder claude-work verwenden."'
|
||||
claude-account() {
|
||||
local profile="$1"
|
||||
if [[ "$profile" != "priv" && "$profile" != "work" ]]; then
|
||||
echo "Verwendung: claude-account priv|work"
|
||||
return 1
|
||||
fi
|
||||
local config_dir="$HOME/.claude-${profile}"
|
||||
echo "==> Claude Code abmelden (${profile})..."
|
||||
CLAUDE_CONFIG_DIR="$config_dir" command claude /logout
|
||||
echo ""
|
||||
echo "==> Browser oeffnen - bitte ab- und neu anmelden..."
|
||||
open "https://console.anthropic.com"
|
||||
read -r "?Wenn im Browser fertig, Enter druecken..."
|
||||
echo ""
|
||||
echo "==> Claude Code anmelden (${profile})..."
|
||||
CLAUDE_CONFIG_DIR="$config_dir" command claude /login
|
||||
}
|
||||
# claude-profiles-end
|
||||
|
||||
nvim-cheats() {
|
||||
echo -e "\e[1;36m=== NVIM CHEAT SHEET ===\e[0m\n"
|
||||
|
||||
# Navigation
|
||||
echo -e "\e[1mNAVIGATION & POSITIONIERUNG\e[0m"
|
||||
echo "-------------------------------------------"
|
||||
echo "h/j/k/l : Links/Unten/Oben/Rechts bewegen"
|
||||
echo "w/b : Zum nächsten/vorherigen Wort springen"
|
||||
echo "gg/G : Anfang / Ende der Datei"
|
||||
echo ":Nr : Zur Zeilenummer Nr springen (z.B. :42)\n"
|
||||
|
||||
# LÖSCHEN
|
||||
echo -e "\e[1;33mLÖSCHEN & BEARBEITEN\e[0m"
|
||||
echo "-------------------------------------------"
|
||||
echo "dd : Ganze Zeile löschen"
|
||||
echo "dw : Wort löschen"
|
||||
echo "D / d$ : Alles nach Cursor bis Zeilenende löschen"
|
||||
echo "d0 : Alles vor Cursor bis Zeilenbeginn löschen"
|
||||
echo "x : Zeichen unter dem Cursor löschen"
|
||||
echo "X : Zeichen vor dem Cursor löschen\n"
|
||||
|
||||
# EDITING & UNDO
|
||||
echo -e "\e[1mEDITING & RÜCKGÄNGIG\e[0m"
|
||||
echo "-------------------------------------------"
|
||||
echo "i/a : Einfügemodus (vor/nach Cursor)"
|
||||
echo "o/O : Neue Zeile öffnen (unter/über)"
|
||||
echo "Esc : In den Normalmodus zurückkehren"
|
||||
echo "u : Rückgängig machen (Undo)"
|
||||
echo "Ctrl-r : Wiederherstellen (Redo)\n"
|
||||
|
||||
# VISUELL & COPY/PASTE
|
||||
echo -e "\e[1mVISUELL WÄHLEN & KOPIEREN\e[0m"
|
||||
echo "-------------------------------------------"
|
||||
echo "v : Visueller Modus starten"
|
||||
echo "yy/yw : Kopieren (Yank) Zeile/Wort"
|
||||
echo "p/P : Einfügen (Paste) nach/vor Cursor\n"
|
||||
|
||||
# CHANGE (Löschen + Einfügemodus)
|
||||
echo -e "\e[1mCHANGE (Löschen & direkt tippen)\e[0m"
|
||||
echo "-------------------------------------------"
|
||||
echo "cw : Wort ab Cursor ersetzen"
|
||||
echo "cc / S : Ganze Zeile ersetzen"
|
||||
echo "ci\" : Inhalt in Anführungszeichen ersetzen"
|
||||
echo "ci( : Inhalt in Klammern ersetzen"
|
||||
echo "C / c\$ : Alles nach Cursor bis Zeilenende ersetzen\n"
|
||||
|
||||
# SUCHE & ERSETZEN
|
||||
echo -e "\e[1mSUCHE & ERSETZEN\e[0m"
|
||||
echo "-------------------------------------------"
|
||||
echo "/suche : Suche vorwärts"
|
||||
echo "?suche : Suche rückwärts"
|
||||
echo "n/N : Nächsten/vorherigen Treffer anspringen"
|
||||
echo "* : Wort unter Cursor suchen"
|
||||
echo ":%s/alt/neu/g : Ersetzen (global in Datei)\n"
|
||||
|
||||
# DATEI & FENSTER
|
||||
echo -e "\e[1mDATEI & FENSTER\e[0m"
|
||||
echo "-------------------------------------------"
|
||||
echo ":wq / :x : Speichern und schließen"
|
||||
echo ":q! : Änderungen verwerfen & schließen"
|
||||
echo ":sp file : Split horizontal (neues Fenster unten)"
|
||||
echo ":vs file : Split vertikal (neues Fenster rechts)\n"
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue