0

安装 prezto 后,当我按下 CTRL - RIGHTARROW 我可以看到这些字符

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

而像 ALT-f 这样的 emacs 键绑定可以正常工作。我只想要我可以使用 CTRL 键导航的默认键绑定。

我的努力:

  • 在 github 上提出了一个问题 + 也浏览了其他类似的问题。无法弄清楚他们的解决方案如何帮助我的案子。
  • 尝试设置 zstyle ':prezto:module:editor' key-bindings '' 但它不起作用。
  • 我还检查了 modeles/editor/init.zsh 但脚本太长了我不想进行随机更改,然后继续维护这些。

任何人都可以提出一种方法,以便即使在加载 .zpreztorc 后我的键绑定仍然“未更改”?

4

1 回答 1

0

如果您使用的是 preztoeditor模块,它将覆盖您的键绑定。如果您将其设置为 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
于 2014-11-10T04:10:58.750 回答