В презто, как заставить работать CTRL-RARROW?

После установки презто при нажатии CTRL - ВПРАВО я вижу эти символы

source python;5C;5C;5C;5C

В то время как привязки клавиш emacs, такие как ALT- f, работают нормально. Я просто хочу, чтобы мои сочетания клавиш по умолчанию, где я могу перемещаться с помощью клавиш CTRL.

Мои усилия:

  • Поднял проблему на github + просмотрел и другие похожие проблемы. Не могу понять, как их решение поможет моему делу.
  • Пробовал установить zstyle ':prezto:module:editor' key-bindings '', но это не сработало.
  • Я также проверил modeles/editor/init.zsh, но сценарий слишком длинный, и я не хочу вносить случайные изменения, а потом продолжать их поддерживать.

Может кто-нибудь предложить способ, чтобы мои сочетания клавиш оставались "неизменными" даже после загрузки.zpreztorc?

1 ответ

Решение

Если вы используете презто editor модуль, он отменит ваши привязки клавиш. Если у вас установлен режим emacs с

zstyle ':prezto:module:editor' key-bindings 'emacs'

вам нужно будет добавить привязки клавиш к этой именованной карте ключей. Вы можете сделать это с

bindkey -M emacs '^[[1;5C' forward-word
bindkey -M emacs '^[[1;5D' backward-word

Это нужно будет запустить после загрузки модуля редактора. Вы можете сделать это, добавив его в нижней части вашего .zshrc файл. Я использую vi раскладка клавиатуры, поэтому мне нужно добавить привязки клавиш к обоим viins а также vicmd раскладка.

for keymap in 'emacs' 'viins' 'vicmd'; do
    # [Ctrl-RightArrow] - move forward one word
    bindkey -M $keymap '^[[1;5C' forward-word
    # [Ctrl-LeftArrow] - move backward one word
    bindkey -M $keymap '^[[1;5D' backward-word
done

unset keymap
Другие вопросы по тегам