migrate: stow → chezmoi

- restructure repo to chezmoi conventions (dot_ prefix, private_dot_ssh/)
- add nvim config (was untracked)
- encrypt restic pass.txt with age
- remove stow artifacts (.stow-local-ignore, stow package dirs)
- update bootstrap.sh to use chezmoi apply
- remove runtime files from tracking (micro buffers, zed backup)
This commit is contained in:
Dmitry
2026-05-13 18:28:01 +03:00
parent 3c680e6f68
commit 7c8a4893de
56 changed files with 789 additions and 185 deletions
+79
View File
@@ -0,0 +1,79 @@
# ════════════════════════════════════════════════════════════
# Keybindings
# ════════════════════════════════════════════════════════════
# ═══ Режим редактирования ══════════════════════════════════
# Использовать emacs режим (можно переключить на vi)
bindkey -e
# Для vi режима раскомментируйте:
# bindkey -v
# ═══ Навигация по строке ═══════════════════════════════════
bindkey '^A' beginning-of-line # Ctrl+A - начало строки
bindkey '^E' end-of-line # Ctrl+E - конец строки
bindkey '^[[H' beginning-of-line # Home - начало строки
bindkey '^[[F' end-of-line # End - конец строки
# ═══ Редактирование ════════════════════════════════════════
bindkey '^K' kill-line # Ctrl+K - удалить до конца
bindkey '^U' backward-kill-line # Ctrl+U - удалить до начала
bindkey '^W' backward-kill-word # Ctrl+W - удалить слово назад
bindkey '^Y' yank # Ctrl+Y - вставить
# ═══ Навигация по словам ═══════════════════════════════════
bindkey '^[[1;5C' forward-word # Ctrl+Right - вперёд на слово
bindkey '^[[1;5D' backward-word # Ctrl+Left - назад на слово
bindkey '^[^[[C' forward-word # Alt+Right - вперёд на слово
bindkey '^[^[[D' backward-word # Alt+Left - назад на слово
# ═══ История команд ════════════════════════════════════════
bindkey '^P' up-history # Ctrl+P - просто вверх
bindkey '^N' down-history # Ctrl+N - просто вниз
# Оставляем Alt+Стрелки для чего-то другого или удаляем,
# если они дублируют функционал.
# ═══ Автодополнение ════════════════════════════════════════
bindkey '^I' complete-word # Tab - автодополнение
bindkey '^[[Z' reverse-menu-complete # Shift+Tab - назад по меню
# Принять автопредложение (если загружен autosuggestions)
if (( $+widgets[autosuggest-accept] )); then
bindkey '^F' autosuggest-accept # Ctrl+F - принять предложение
bindkey '^[[C' forward-char # Right - вперёд на символ (не принимая)
bindkey '^ ' autosuggest-accept # Ctrl+Space - принять предложение
fi
# ═══ FZF ═══════════════════════════════════════════════════
# FZF key-bindings загружаются в plugins.zsh
# Здесь можно переопределить привязки если нужно
if command -v fzf &>/dev/null; then
# Привязки уже установлены в plugins.zsh через key-bindings.zsh
# Можно добавить дополнительные кастомные привязки здесь
:
fi
# ═══ Полезные команды ══════════════════════════════════════
bindkey '^L' clear-screen # Ctrl+L - очистить экран
bindkey '^X^E' edit-command-line # Ctrl+X Ctrl+E - редактировать в $EDITOR
# Загрузить edit-command-line если нужно
autoload -Uz edit-command-line
zle -N edit-command-line
# ═══ Дополнительные привязки ═══════════════════════════════
bindkey '^D' delete-char-or-list # Ctrl+D - удалить символ или показать список
bindkey '^H' backward-delete-char # Ctrl+H - удалить символ назад
bindkey '^?' backward-delete-char # Backspace - удалить символ назад
# ═══ Копирование/вставка (xclip) ══════════════════════════
if command -v xclip &>/dev/null; then
# Скопировать текущую команду в буфер обмена
function _copy_command_to_clipboard() {
echo -n "$BUFFER" | xclip -selection clipboard
zle -M "Copied to clipboard"
}
zle -N _copy_command_to_clipboard
bindkey '^X^C' _copy_command_to_clipboard # Ctrl+X Ctrl+C
fi