# ════════════════════════════════════════════════════════════ # 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