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:
@@ -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
|
||||
Reference in New Issue
Block a user